Рубрика: Записи
Как сразу открыть запись, если она единственная в поиске?
Если в результате поиска по сайту нашлась только одна единственная запись, то можно избавить посетителя от необходимости в нее заходить, сразу перенаправив его на страницу этой записи. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//перенаправление на одиночный результат поиска start function wph_single_search_result() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1) { wp_redirect(get_permalink($wp_query->posts['0']->ID)); } } } add_action('template_redirect', 'wph_single_search_result'); //перенаправление на одиночный результат поиска start |
Посетитель будет сразу перенаправлен на единственную найденную запись, минуя просмотр страницы с результатами поиска.
Как добавить произвольные типы записей в результаты поиска?
По умолчанию WordPress выполняет поиск только по страницам и записям сайта. Однако, если на вашем сайте активно используются произвольные типы записей, то поиск на сайте будет бесполезен. Исправить эту ситуацию достаточно легко, надо добавить в файл functions.php вашей темы следующий код:
//добавление произвольных типов в поиск start function wph_search_all($query) { if ($query->is_search) { $query->set('post_type', array( 'post', 'page', 'custom_type1', 'custom_type2' )); } return $query; } add_filter('the_search_query', 'wph_search_all'); //добавление произвольных типов в поиск end |
Где 'custom_type1' и 'custom_type2' это ярлыки ваших произвольных типов записей.
Как изменить заголовок для произвольных типов записей?
При использовании на сайте произвольных типов записей заголовок по умолчанию (а вернее подсказка) будет стандартной, как для обычных записей сайта - "Введите заголовок". Чтобы это изменить, вам необходимо добавить в файл functions.php вашей темы следующий код:
//изменение заголовка по умолчанию start function change_title( $title ){ $screen = get_current_screen(); if ('movies' == $screen->post_type) { $title = 'Введите название фильма'; } return $title; } add_filter('enter_title_here', 'change_title'); //изменение заголовка по умолчанию end |
Где 'movies' это название вашего произвольного типа записей.
Как добавить ссылку «Читать дальше» для анонсов?
Ссылка "Читать дальше" формируется при использовании в тексте записи тега <!--more-->. Она будет показана при выводе текста записи через функцию the_content (опция "Полный текст" в "Настройках\Чтение"). Если же у вас выводятся "Анонсы", то никаких ссылок показываться не будет (авторы тем должны сами выводить ссылку на полный текст записи). Небольшой сниппет кода позволит вам вывести ссылку "Читать дальше" и для анонсов записей.
Добавьте в файл functions.php вашей темы код:
//ссылка "Читать дальше" для анонса start function new_excerpt_more($more) { global $post; return '[...] <a class="moretag" href="'. get_permalink($post->ID) . '">Читать дальше</a>'; } add_filter('excerpt_more', 'new_excerpt_more'); //ссылка "Читать дальше" для анонса end |
Оформить стиль этой ссылки можно через css-класс .moretag.
Как изменить текст ссылки «Читать дальше»?
Анкор ссылки "Читать дальше" (ссылка появляется при использовании тега <!--more--> в записи) можно изменить напрямую, отредактировав вызов функции the_content в файлах темы так:
<?php the_content("Читать дальше..."); ?> |
Но в некоторых случаях лучше использовать отдельный сниппет кода в файле functions.php, так как этот файл удобнее переносить в дочернюю тему (и таким образом ваши изменения не потеряются при обновлении темы).
Как зашифровать email в тексте записей?
WordPress обладает встроенной функцией antispambot по шифровке email-адресов. Эту функцию можно использовать для создания шорткода, который вы сможете использовать в тексте ваших записей, чтобы зашифровать email-адреса.
Как отключить или ограничить количество редакций записей?
WordPress создает редакции записей при каждом их обновлении. Иногда эта функция полезна, но в итоге каждая запись в вашем блоге может иметь сотни разных редакций. Это засоряет базу данных, да и необходимость в редакциях записей, написанных пару лет назад сомнительна. Чтобы ограничить число редакций вам необходимо добавить в файл wp-config.php код: