В WordPress по умолчанию, когда на странице архива, категории или поискового запроса нет записей, выводится стандартное сообщение «Записей не найдено». Но часто нужно показать более информативное, дружелюбное или даже с полезными ссылками сообщение. В этой статье разберём, как добавить своё сообщение при отсутствии записей в WordPress, используя разные подходы — от простых изменений шаблона до универсальных функций с примерами кода.
Почему важно кастомизировать сообщение об отсутствии записей
Стандартное сообщение WordPress «Записей не найдено» не всегда удобно и понятно для посетителей. Если пользователь видит просто пустую страницу или сухое уведомление, он может уйти с сайта без взаимодействия. А если вывести более полезный текст, навигацию или форму поиска, это повысит удобство и удержание посетителей.
Кроме того, для сайтов с разной тематикой и стилем важно адаптировать сообщения под дизайн и тональность ресурса. Это часть качественного UX и помогает сделать сайт профессиональным.
В следующих разделах рассмотрим, как это реализовать технически с примерами кода и рекомендациями по плагинам.
Добавление кастомного сообщения в шаблоне темы
Самый простой и распространённый метод — редактировать файл шаблона, отвечающий за вывод записей, например index.php, archive.php или search.php. В них обычно есть цикл WordPress (Loop), который выводит записи, и условие для случая отсутствия записей.
Пример типичной конструкции в шаблоне:
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Вывод записи
endwhile;
else :
// Сообщение при отсутствии записей
endif;
Чтобы добавить своё сообщение, замените часть else на кастомный HTML:
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// вывод записи
endwhile;
else :
echo '<div class="custom-no-posts">';
echo '<h2>Извините, записи не найдены</h2>';
echo '<p>Попробуйте использовать поиск или перейти на главную страницу.</p>';
echo get_search_form();
echo '</div>';
endif;
Такое решение универсально и легко внедряется в любую тему. Можно добавить стили для класса .custom-no-posts в файл стилей.
Пример расширенного сообщения с рекомендациями
Можно добавить ссылки на категории или популярные статьи, чтобы удержать пользователя:
else :
echo '<div class="custom-no-posts">';
echo '<h2>К сожалению, ничего не найдено</h2>';
echo '<p>Попробуйте поискать по другому запросу или посмотрите наши популярные категории:</p>';
echo '<ul>';
echo '<li><a href="'.esc_url( home_url('/category/news/') ).'">Новости</a></li>';
echo '<li><a href="'.esc_url( home_url('/category/tutorials/') ).'">Обучающие материалы</a></li>';
echo '</ul>';
echo get_search_form();
echo '</div>';
endif;
Создание универсальной функции journalx_custom_no_posts_message()
Если вы хотите повторно использовать кастомное сообщение в нескольких местах, имеет смысл оформить его в функцию с префиксом journalx_. Это улучшит поддержку кода и позволит легко менять содержимое сообщения.
function journalx_custom_no_posts_message() {
echo '<div class="custom-no-posts">';
echo '<h2>Записей не найдено</h2>';
echo '<p>Пожалуйста, воспользуйтесь поиском или перейдите на главную страницу.</p>';
echo get_search_form();
echo '</div>';
}
Теперь в шаблонах можно просто вызвать journalx_custom_no_posts_message(); вместо вывода сообщения напрямую:
if ( ! have_posts() ) {
journalx_custom_no_posts_message();
}
Если понадобится изменить сообщение — достаточно править функцию в одном месте.
Использование хуков для вывода сообщения без правки шаблонов
Некоторые темы и плагины используют хуки WordPress для вывода контента. Можно добавить своё сообщение при отсутствии записей через хуки, если они предусмотрены в теме. Пример для темы с хуком journalx_before_content:
add_action('journalx_before_content', 'journalx_maybe_show_no_posts_message');
function journalx_maybe_show_no_posts_message() {
if ( ! have_posts() ) {
journalx_custom_no_posts_message();
}
}
Это позволяет не менять шаблоны напрямую, что удобнее при обновлениях.
Плагины для кастомизации сообщений об отсутствии записей
Если вы не хотите лезть в код, можно использовать плагины, которые расширяют стандартный функционал WordPress.
- Clearfy — оптимизационный плагин, в том числе позволяет настраивать служебные сообщения сайта. Подробнее: Clearfy на WPSHOP.
- WPRemark — плагин для улучшения комментариев, но также позволяет показывать кастомные сообщения и подсказки в разных местах.
Выбор плагина зависит от задач и особенностей сайта, но для простого сообщения лучше использовать код в теме.
Полезные советы и рекомендации по кастомизации сообщения
При создании сообщения учитывайте:
- Дружелюбный и понятный язык, без технических терминов.
- Добавление формы поиска для удобства пользователя.
- Возможность предложить альтернативные ссылки — популярные категории, свежие записи, контакты.
- Соблюдение стиля сайта и адаптивный дизайн.
- Оптимизация HTML и минимальный код, чтобы не замедлять сайт.
Также тестируйте сообщение на разных типах страниц — архивы, поиск, главная, чтобы убедиться, что оно отображается корректно.
Вывод
Добавление собственного сообщения при отсутствии записей в WordPress — простой и эффективный способ улучшить взаимодействие с пользователями. Это повышает удобство, снижает показатель отказов и делает сайт профессиональнее. Используйте примеры кода из статьи, чтобы быстро внедрить кастомизацию, или выберите подходящий плагин. Если нужна помощь с оптимизацией и кастомными решениями для WordPress, советуем обратить внимание на WPSHOP.