В теме Bono от WPSHOP для записей и страниц можно выбирать стили отображения миниатюры на детальной странице или статье. для этого достаточно в блоке опции «Настройки миниатюры» выбрать желаемый вариант. На выбор нам предложено несколько вариантов и сразу подписаны рекомендованные размеры для картинок.
Тип миниатюры:
- Стандартная: 870х400
- Широкая: 1190 х400
- На всю ширину: 1920х400
- На весь экран: 1920х400
В ходе публикации статей я часто выбирал то один вариант, то другой. В общем статьи отображались по разному и меня это немного беспокоило. Я начал искать способ, который позволил бы разом сменить все настройки этой опции для всех статей на сайте.
Варианты изменения нужного параметра для миниатюры
Чтобы привести все статьи к единому параметру отображения миниатюр на сайте WordPress, необходимо установить одно и то же значение для параметра thumbnail_type
для каждой статьи.
В шаблоне Reboot это значение извлекается из пользовательских полей (meta fields) статьи:
$thumbnail_type = get_post_meta( $post->ID, 'thumbnail_type', true );
Учитывая, что изменения должны быть применены ко всем статьям, нужно обновить значение этого пользовательского поля для каждой статьи в базе данных. Вот как вы можете это сделать:
1. Использование плагина для массового редактирования
Используйте плагин, который позволяет массово редактировать пользовательские поля статей, например, Advanced Custom Fields
или WP All Import
. Эти плагины позволят вам выбрать все статьи и установить для них одинаковое значение поля thumbnail_type
.
2. Написание SQL-запроса
Если у вас есть доступ к базе данных через phpMyAdmin или другой инструмент управления базами данных, вы можете напрямую обновить значения пользовательского поля для всех статей с помощью SQL-запроса. Вот пример запроса, который устанавливает значение thumbnail_type
в full
для всех статей:
UPDATE wp_postmeta SET meta_value = 'full' WHERE meta_key = 'thumbnail_type';
Убедитесь, что вы создали резервную копию базы данных перед выполнением запроса.
3. Использование функции в functions.php
Вы можете добавить временную функцию в файл functions.php
вашей темы, которая будет выполнять обновление значения для всех статей. Например:
function update_thumbnail_type_for_all_posts() {
$args = array(
'post_type' => 'post',
'posts_per_page' => -1, // Выбрать все статьи
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
update_post_meta(get_the_ID(), 'thumbnail_type', 'full');
}
}
wp_reset_postdata();
}
// Вызовите функцию один раз, затем удалите или закомментируйте этот код, чтобы избежать повторного выполнения.
// update_thumbnail_type_for_all_posts();
Этот код обновит значение thumbnail_type
до full
для всех статей на вашем сайте. После выполнения убедитесь, что вы удалили или закомментировали вызов функции, чтобы предотвратить повторное выполнение при каждой загрузке вашего сайта.
Что выбрал я и вам тоже так советую
Я выбрал вариант 2. Написание SQL-запроса. Потому что это наиболее гибкий и универсальный способ быстро изменить нужную опцию для постов и страниц. А также попробовал вариант 3 и воспользовался функцией, которую приводил выше. Она тоже отлично работает. А вот с первым вариантом есть проблемы. Они возникают при поиске нужных плагинов, их совместимостью с текущей версией WP и поиском нужной опции в этих плагинах. Я не стал тратить на это время и обошёлся без них.