Intereting Posts
Является ли jQuery включенным в WordPress по умолчанию? Использовать PHP-код в разделе «Администрирование меню» Исключить подпапку из WP-redirect работает с html, но не php-файлами Параметры WordPress admin, я не могу использовать jquery ajax для доступа к моему контенту из другого файла Как добавление пользовательской мета в форму регистрации? Программирование добавления пользовательской почты WordPress и MySQL: попытка печати данных с использованием PHP из пользовательских данных поля user_meta Как показывать сообщения из нескольких типов сообщений в одном цикле? И отобразите их отдельно на одном шаблоне Ограничить the_excerpt с максимальным количеством символов x Получить все должности категории не в Показывать только похожие сообщения, когда другая должность имеет такой же срок Как перехватить update_option () перед сохранением данных? Что означают комментарии с ? Как сортировать по пользовательскому значению поля? стилей в очереди для только мобильного wp

Если нет выделенного изображения, добавьте одно из изображений по умолчанию в DB

Я пытаюсь установить несколько изображений (изображения A, B и C) из одной папки (папка X) случайным образом в базу данных в качестве отображаемого по умолчанию изображения, если их нет.

Таким образом, на главной странице у меня есть все сообщения с различными изображениями из папки X. После того, как вы нажмете на read позже, изображение должно быть таким же, как и на главной странице.

Поэтому, отправляя что-то, ему нужно получить одно из изображений из папки X в качестве отображаемого изображения, если ни один не был добавлен.

Кто-нибудь знает, как заставить это работать? Я сам создатель PHP (не стреляйте в дизайнера).

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

<?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } else { ?> <img src="<?php bloginfo('template_directory'); ?>/images/default-image.jpg" alt="<?php the_title(); ?>" /> <?php } ?> 

Или что-то вроде этого без больших изменений шаблона

 function autoset_featured() { global $post; $already_has_thumb = has_post_thumbnail($post->ID); if (!$already_has_thumb) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } } } add_action('the_post', 'autoset_featured'); add_action('save_post', 'autoset_featured'); add_action('draft_to_publish', 'autoset_featured'); add_action('new_to_publish', 'autoset_featured'); add_action('pending_to_publish', 'autoset_featured'); add_action('future_to_publish', 'autoset_featured'); 

Спасибо @Noob Theory за то, что помогли мне в первой части.

Решение. Загрузите «заголовки по умолчанию» в «media» и проверьте их идентификаторы. Используйте array_rand для рандомизации идентификатора et voila, сделанного вами.

 <? function autoset_featured() { $media_array = array( '1611', '1612', '1613', ); $media = $media_array[array_rand($media_array)]; global $post; $already_has_thumb = has_post_thumbnail($post->ID); if (!$already_has_thumb) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } else { set_post_thumbnail($post->ID, $media); } } } //end function add_action('the_post', 'autoset_featured'); add_action('save_post', 'autoset_featured'); add_action('draft_to_publish', 'autoset_featured'); add_action('new_to_publish', 'autoset_featured'); add_action('pending_to_publish', 'autoset_featured'); add_action('future_to_publish', 'autoset_featured'); ?>