Фильтрация wp_title: почему это важно
12.04.2018
Любой, кто имел опыт в создании тем – пусть даже всего лишь одной темы, – работал с дочерними темами или просто редактировал базовую тему, скорее всего, сталкивался с wp_title. Это один из тегов в WordPress, который очень легко использовать и понять. Давайте приведем цитату из Кодекса:
Отображает или возвращает заголовок страницы. Может быть определен разделитель, который выводится либо до, либо после заголовка страницы.
Этот тег может стоять в любом месте в шаблоне за пределами цикла главной страницы, однако обычно он используется в элементе title раздела head страницы.
Ничего сложного, верно?
Однако это один из тех тегов, которыми часто злоупотребляют, что приводит к проблемам, связанным с плагинами.
Вопросы фильтрации wp_title
Во-первых, стандартные ситуации использование wp_title очень просты. Достаточно добавить этот тег, объявить разделитель, а также задать вывод заголовка и разделителя.
К примеру:
<title><?php wp_title( ‘|’, true, ‘right’ ); ?></title>Достаточно просто – однако на практике все может быть гораздо хуже (что я знаю из личного опыта).
Не повторяем ошибок
К примеру, допустим, вы хотите создать более продуманный формат вывода заголовков в вашем блоге.
Вы можете воспользоваться подобной конструкцией:
<title><?php bloginfo('name'); ?> | <?php is_home() ? bloginfo('description') : wp_title( '' ); ?></title>Что действительно уродливо и действительно некорректно. И я буду первым, кто признается в том, что указанная конструкция была взята из кода, написанного мною раньше (просто чтобы показать, чему можно научиться со временем).
Проблема здесь заключается в том, что вы не в состоянии отфильтровать wp_title. Это означает, что разработчики плагинов, которые предлагают изменить структуру заголовков вашей темы, не смогут это сделать, поскольку вы не используете надлежащим образом wp_title.