Intereting Posts
Пользовательские поля Woocommerce Сохранить в медиа-библиотеке изображение, загруженное с url Разве WP удаляет устаревшие файлы плагинов / тем для обновления плагина / темы? Как удалить пользовательский вид, когда вы уже вошли в систему с помощью Ultimate Member Заказ Индивидуальный цикл типа по пользовательскому полю (datepicker) пользовательский тип сообщения с ролью Поставщик Настройка клиента и сервера WordPress Позволяет ли WordPress добавлять php-файл в корневой каталог для выполнения собственных скриптов? Как отображать ссылки типа сообщения и категории в foreach WordPress code Инструмент для анализа правил перезаписи? Изменить дату с 2015/02/23 до "1 мин. Назад" Разработка плагина WordPress как компонента в Joomla Пользовательский запрос таксономии показывает более 4 сообщений Выдвижение избранных изображений в меню WordPress Ошибки, создаваемые admin-ajax.php

Добавить галерею изображений в пользовательский тип сообщения?

Я извлекаю данные из внешней веб-службы в пользовательский тип сообщения. Эти данные включают изображения. Как создать галерею изображений, добавить в нее существующие вложения и связать ее с сообщением?

То, что я надеялся найти, похоже на set_post_gallery для функции get_post_gallery , но я не могу найти ничего подобного в кодексе, в google или в wp-includes/media.php .

Вот как я настраивал приложения:

 $attachment = [ 'guid' => wp_upload_dir()[ 'url' ] . '/' . basename( $path ), 'post_mime_type' => wp_check_filetype( basename( $path ), null )[ 'type' ], 'post_title' => "$mlsNum $id", 'post_content' => '', 'post_status' => 'inherit' ]; $attachmentId = wp_insert_attachment( $attachment, $path, $this->postId ); // Generate attachment metadata and create resized images. wp_update_attachment_metadata( $attachmentId, wp_generate_attachment_metadata( $attachmentId, $path )); 

И вот как я пытаюсь найти галерею для темы:

 $gallery = get_post_gallery( $post, false ); var_dump( $gallery ); var_dump( $post ); 

$post определено, а $gallery – false. У меня создалось впечатление, что wp_insert_attachment создаст галерею для сообщения и добавит в нее вложение, но, видимо, это не так. Если бы это было так, то это вызовет другие проблемы для меня, когда я пойду, чтобы прикрепить PDF к сообщению.

Solutions Collecting From Web of "Добавить галерею изображений в пользовательский тип сообщения?"

Когда у вас только есть необработанные файлы изображений, которые вы хотите назначить сообщению, wp_insert_attachment выполнит эту работу.

В приложениях, уже присутствующих в вашей базе данных, вы можете использовать wp_update_post для установки post_parent вложения. Как это:

 wp_update_post( array( 'ID' => $attachment_id, 'post_parent' => $parent_post_id, )); 

Чтобы получить вложения сообщения, вы можете использовать get_children .

 $args = array( 'post_parent' => $parent_post_id, 'post_type' => 'attachment', ); $attachments = get_children( $args ); 

Если вы настаиваете на использовании get_post_gallery – это только вернет вложения изображения – вы должны добавить get_post_gallery [gallery] в свой родительский пост.

Здесь есть отличное PHP-решение, которое добавит редактор галереи в редактор настраиваемого типа сообщений – отлично, если я, как я, вы создаете настраиваемые типы сообщений с использованием PHP и импортируете данные с помощью WPAllImport. В этом случае я хочу, чтобы я использовал галерею по умолчанию, чтобы позволить моим клиентам редактировать / добавлять / удалять импортированные изображения.

Приведенный ниже код добавляет редактор галереи в свой собственный интерфейс редактора сообщений:

https://gist.github.com/alexdunae/897503