Как задать изображение миниатюры по умолчанию для новых записей WordPress

Опубликовано: 01.09.2018

видео Как задать изображение миниатюры по умолчанию для новых записей WordPress

Уроки WordPress для начинающих - первые шаги после установки (Оптимальные Настройки)

В этом небольшом руководстве я продемонстрирую вам способ создания картинки миниатюры по умолчанию для всех новых постов в вашем блоге или на сайте. Многие руководства описывают, как проверить наличие картинки в посте и как задать ее, если такой картинки нет. А в этот раз мы поговорим о том, как избежать случайного сохранения нового поста без картинки для предварительного просмотра.



Обычный способ установки картинки для постов по умолчанию

Как уже было сказано выше, обычно в руководствах такого рода предлагается использовать связку If ... Else в теме для того, чтобы отображать картинку для постов по умолчанию. Вот пример того, как это выглядит в коде:


Уроки WordPress - Как создать запись (WordPress для чайников)

if (has_post_thumbnail()) { the_post_thumbnail(); } else { echo '<img src="' . get_bloginfo('template_directory') . '/images/thumb-default.png' . '" width="100" height="100" alt="thumbnail" />'; }

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


Как изменить слайдер в теме (шаблоне) WordPress

Шаг 1. Устанавливаем значение Thumbnail ID

Первое, что вам надо сделать — это задать значение ID для загружаемой картинки, которая будет крепиться ко всем новым постам на сайте. Сделать это можно, перейдя в медиа-библиотеку сайта ( Media Library ), выбрав там вашу тему оформления и нужную вам картинку, а затем скопировав значение ID для этой картинки.

На скриншоте вы видите, что значение ID берется из адресной строки с параметром attachment_id=

Шаг 2. Задаем функцию

Чтобы установить значение картинки по умолчанию для новых постов, вы можете добавить следующий сниппет в файл functions.php в папке с вашей выбранной темой:

add_action( 'save_post', 'wptuts_save_thumbnail' ); function wptuts_save_thumbnail( $post_id ) { // Get Thumbnail $post_thumbnail = get_post_meta( $post_id, $key = '_thumbnail_id', $single = true ); // Verify that post is not a revision if ( !wp_is_post_revision( $post_id ) ) { // Check if Thumbnail exists if ( empty( $post_thumbnail ) ) { // Add thumbnail to post update_post_meta( $post_id, $meta_key = '_thumbnail_id', $meta_value = '233' ); } } }

Мы используем save_post для запуска функции в новом добавленном посте на вашем сайте. Как только мы связали действие с добавлением нового поста, мы используем параметр get_post_meta для того, чтобы задать значение для базы данных, указав ID картинки и ID поста .

Следующий шаг — это использование функции wp_is_post_revision для проверки того, является ли сохраненный пост новой версией существующего поста или это — новый пост, которого раньше не было. Если пост представляет собой версию обновленной существовавшей публикации, тогда мы делаем исключение для выполнения оставшейся части новой функции.

С помощью параметра If мы также проверяем, есть ли какая-то мета-информация о существовании картинки для нового поста. Если таких данных нет, то мы применяем функцию add_post_meta для добавления значения ID картинки по умолчанию в наш последний добавленный на сайте пост.

Вот и все! При сохранении статьи в черновиках на сайте будет сохраняться значение картинки по умолчанию для нового поста, и мы сможем использовать эту картинку по умолчанию в плагинах и виджетах, где требуется наличие иллюстрации для предварительного просмотра. Если вы разрабатываете тему для сайта, вы также можете использовать указанный метод и заменить $meta_value картинкой из вашей папки с разрабатываемой темой.

Источник: 
rss