Рубрика: Страницы
Как отключить выбор родительской страницы?
При редактировании страницы вам доступен метабокс "Свойства страницы", где вы можете выбрать родительскую страницу. Даже если этот метабокс отключен в "Настройках экрана" WordPress все равно будет грузить весь список существующих страниц в select элемент (на скриншоте). Чем это плохо? Да ничем, если у вас правильно организован сайт. Если же вы построили свой сайт целиком на использовании страниц, то тут могут возникнуть проблемы (так как движок всегда будет грузить весь список страниц, даже если их у вас много тысяч).
Как проверить существование родительской страницы?
Для проверки вывода страницы в WordPress существует условный тег is_page(), но как проверить существование родительской страницы для текущей страницы? Можно создать свой условный тег проверки на наличие у страницы родителя. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//условный тег проверки родительской страницы start function is_subpage() { global $post; if (is_page() && $post->post_parent) { return $post->post_parent; } else { return false; } } //условный тег проверки родительской страницы end |
Использовать этот условный тег в коде нужного шаблона темы можно так:
Как исключить страницы из результатов поиска?
Для исключения страниц сайта из результатов поиска можно воспользоваться следующим сниппетом, добавленным в файл functions.php вашей темы:
//исключение страниц из результатов поиска start function wph_exclude_pages($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','wph_exclude_pages'); //исключение страниц из результатов поиска end |
В результатах поиска будут присутствовать только записи вашего сайта и ничего больше. Зачастую это может быть необходимо, так как в большинстве сайтов на WordPress страницы и так присутствуют в навигации (в меню или виджете) и будут только мешаться на странице с результатами поиска.
Как добавить «Цитату» для страниц?
По умолчанию, WordPress создает поле "Цитата" только для записей в блоге. Добавить поле "Цитата" для страниц достаточно легко, для этого вставьте в файл functions.php вашей темы код:
//Добавление "Цитаты" для страниц start function page_excerpt() { add_post_type_support('page', array('excerpt')); } add_action('init', 'page_excerpt'); //Добавление "Цитаты" для страниц end |
И при добавлении (или редактировании) ваших страниц вы увидите поле "Цитата":
Как включить комментарии для страниц по умолчанию?
Начиная с WordPress 4.3, у страниц по умолчанию комментарии всегда отключены. Это, конечно, не мешает их включить обратно вручную в административном метабоксе "Обсуждение". В подавляющем большинстве случаев это нововведение полезно для пользователей, так как обычно комментарии к страницам мало кому нужны. Но иногда, когда сайт построен на использовании страниц, подобное поведение движка может раздражать, так как все время включать комментарии вручную может быть утомительным занятием. Это можно исправить, для этого вам необходимо добавить в файл functions.php вашей темы следующий код: