Intereting Posts
Как удалить стили аудиоплеера, добавленные mediaelement.js JavaScript? Переписать URL-адрес в адресной строке для определенной страницы Как разрешить моему сообщению обновлять дату в неделю Является $ wpdb-> подготовкой к побегу? Как правильно использовать его? Являются ли пользовательские типы сообщений подходящими для хранения большого количества элементов данных, в этом случае чат-сообщения? Как отслеживать прогресс пользователей через страницы, вставляя данные в базу данных WordPress? Показать имя таксономии из Slug с пользовательским типом сообщения ACF Ограниченные вложения / Изменение вложений два мета-тега со всеми в одном seo Как я могу заменить контент на сайте, созданный с помощью плагина, без изменения плагина Проблема с Multisite и SSL Файл Js не добавляется с помощью этого кода в functions.php Как обновить настраиваемую мета для всех сообщений Могу ли я восстановить плагин, который был случайно удален? (на локальном хосте) Wp Ecommerce Reposition Страница продукта Продукт Thumbnail Image

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

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

Теперь я работаю с набором жестко кодированных изображений (что я просто ftp'd в каталоге uploads). Тем не менее, я хотел бы, чтобы просто добавлять изображения в медиа-библиотеку и как-то «тегировать» их, чтобы они использовались в качестве изображения по умолчанию. Поскольку, как представляется, не существует категорий / тегов / таксономий для загруженных изображений, что было бы лучшим решением для получения этой функции?

Единственное, что я мог подумать, это создать страницу и загрузить все мои «изображения по умолчанию» на эту страницу. Затем просто запросите все изображения, прикрепленные к этой странице, и используйте случайную. Должен быть лучший способ, чем создать бесполезную страницу для категоризации изображений.

Вы можете использовать таксономии с медиа-библиотекой, вам просто нужно либо добавить встроенную таксономию, либо зарегистрировать новую .

Например, добавив встроенную таксономию тега post в вложения:

function wpd_attachment_taxonomy() { register_taxonomy_for_object_type( 'post_tag', 'attachment' ); } add_action( 'init', 'wpd_attachment_taxonomy' ); 

Затем вы можете запросить изображения с определенным тегом:

 $args = array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'tag' => 'tagged', 'posts_per_page' => 1, 'fields' => 'ids', 'orderby' => 'rand' ); $image = new WP_Query( $args ); if( $image->have_posts() ){ $image_attributes = wp_get_attachment_image_src( $image->posts[0], 'full' ); echo $image_attributes[0]; } 

Измените tagged на те, которые вы выбрали. Это даст идентификатор вложения одного случайного изображения с вашим тегом. Затем мы можем использовать этот идентификатор для получения атрибутов изображения вложения.