WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Как передать в метаполе несколько изображений?

Помогите разобраться...

Скриптом загружаю несколько изображений на сайт, id загруженных сообщений попадают в массив. Затем массив $row передаю функции

update_post_meta($post_id , 'property_images', $row);

Но если посмотреть в коде html произвольного поля в value появляется значение Array. А по логике должны быть id фото через запятую...

<input class="rwmb-image_advanced" name="property_images" type="hidden" **value="Array"** data-attachments="[]" data-options="{"imageSize":"thumbnail","mimeType":"image","maxFiles":48,"forceDelete":false,"maxStatus":true}">

Сам скрипт

function download_photo( $post_id, $imagesarray ) {

	if( ! function_exists('media_handle_sideload') ) {
		require_once ABSPATH . 'wp-admin/includes/image.php';
		require_once ABSPATH . 'wp-admin/includes/file.php';
		require_once ABSPATH . 'wp-admin/includes/media.php';
	}

	$row = [];
	$file_array = [];

	for( $i=0; $i <= count($imagesarray)-1; $i++ ) {

		// Установим данные файла
		$tmp = download_url($imagesarray[$i]);

		// Получаем имя файла
		preg_match('/[^\?]+\.(jpg|jpe|jpeg|gif|png)/i', $imagesarray[$i], $matches );

		$file_array['name'] = basename($matches[0]);
		$file_array['tmp_name'] = $tmp;

		// загружаем файл
		$media_id = media_handle_sideload( $file_array, $post_id );

		array_push($row, $media_id);

		// Проверяем на наличие ошибок
		if( is_wp_error($media_id) ) {
			@unlink($file_array['tmp_name']);
			echo $media_id->get_error_messages();
			exit;
		}

		// Удаляем временный файл
		@unlink( $file_array['tmp_name'] );

	}

	update_post_meta($post_id , 'property_images', $row);

	// Файл сохранён и добавлен в медиатеку WP. Теперь назначаем его в качестве обложки
	set_post_thumbnail($post_id, $row[0]);

}

Как правильно привязать несколько фотографий к посту, чтобы они отображались в мета поле при редактировании новости, и соответственно в самом посту как на скрине?

П.С. Если добавить только одно изображение, отображается без проблем и в посте и при редактировании в метаполе.

0
wias
4.3 года назад
  • 0
    kolshix779 paxtoy.com

    Есть тема в которой автор позаморочился и переписал много функций, но главный смысл и логику думаю вы сможете подчеркнуть из файла index.php - этой темы

    https://github.com/mediabots/Wordpress-Php-Image-Hosting-Script/blob/master/index.php

    wias 4.3 года назад

    Может я не правильно выразился... Дело в том, фотографии добавляются через админку при создании поста без проблем. Меня интересует как добавить несколько фото к посту минуя админку. Когда я загружаю через скрипт фото

    media_handle_sideload( $file_array, $post_id );

    Фото загружаются и даже показывает привязку к посту

    Но в самой карточке и при редактировании поста отображается только одна фотка, хотя загружено 7 фото. Фото то загружаются в медиатеку без проблем, но не привязываются для нужного поста...

    Не пинайте сильно, WordPress изучаю 2 дня. Пытаюсь переделать шаблон недвижимости как практический урок

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация