Изображения записей по умолчанию wp
В WordPress нет встроенного изображения по умолчанию для записей (постов), которое автоматически подставлялось бы, если автор не задал свою миниатюру. Из-за этого в ленте блога, архивах или превью в соцсетях могут появляться пустые места.
Как это решить
Есть несколько способов установить изображение-заполнитель.
1. Плагины
Это самый простой и рекомендуемый подход. Плагины автоматически подставляют заданное изображение, если в записи нет своей миниатюры.
- Setup Recommended Image. Позволяет выбрать глобальное резервное изображение из медиатеки. Можно настраивать применение по типам записей и категориям.
- Default Featured Image. Добавляет изображение по умолчанию в настройки медиа. Если миниатюра не задана, отображается именно оно.
- WP Media Folder. Даёт два варианта: статичное изображение или случайное из указанной папки в медиатеке.
Как установить: установите и активируйте плагин, затем в настройках выберите нужное изображение в разделе для резервных миниатюр.
2. Код в теме
Этот способ требует редактирования файлов вашей темы (лучше использовать дочернюю тему, чтобы не потерять изменения при обновлении).
В файле
single.php
(или другом, где выводится запись) добавьте код, который проверяет наличие миниатюры и выводит заглушку, если её нет:
<?php if (has_post_thumbnail()) {
the_post_thumbnail();
} else {
echo '<img src="' . get_bloginfo('template_directory') . '/images/default-image.jpg" alt="' . the_title() . '">';
} ?>
Замените
default-image.jpg
на имя вашего файла и убедитесь, что путь корректный.
3. Автоматическое назначение
Можно написать функцию, которая будет присваивать миниатюру по умолчанию при сохранении записи. Для этого добавьте код в файл
functions.php
вашей темы.
add_action( 'save_post', 'wptuts_save_thumbnail' );
function wptuts_save_thumbnail( $post_id ) {
// Проверяем, не является ли это новой редакцией поста
if ( !wp_is_post_revision( $post_id ) ) {
// Проверяем, есть ли уже миниатюра
$post_thumbnail = get_post_meta( $post_id, '_thumbnail_id', true );
if ( empty( $post_thumbnail ) ) {
// Присваиваем ID изображения по умолчанию
update_post_meta( $post_id, '_thumbnail_id', 123 ); // 123 — ID вашей картинки
}
}
}
Замените
123
на ID нужной картинки из медиатеки.
Что выбрать?
Для большинства пользователей удобнее и безопаснее плагины — они решают задачу в пару кликов. Если же вы хотите глубже погрузиться в тему или у вас сложная логика, тогда стоит рассмотреть вариант с кодом.
