Заголовки закрытых и защищенных страниц в WordPress

Те из вас, кто использует WordPress, могут знать, что когда вы создаете новую приватную или защищенную паролем страницу, когда вы их просматриваете, WordPress добавляет соответствующие префиксы к их имени..

Сама идея этих префиксов заключается в предоставлении информации о том, что данная страница каким-то образом защищена, что она недоступна для всех (в одном случае вам нужно знать пароль, а в другом — вам нужно быть администратор сайта, чтобы напрямую не получать ошибку 404).

Лично мне, однако, никогда не нравились эти изменения в названии, и мне приходилось удалять их в некоторых проектах, над которыми я работал..

Фильтр The_title

Я встречал в Интернете различные способы достижения этой цели, наиболее распространенный метод — редактирование содержимого фильтра the_title. После присоединения к фильтру вы проверяете, начинается ли имя страницы с "Private:" (в случае личных страниц — аналогично защищенным паролем), а затем просто удаляете эту часть.

Читать также:  Что такое параллакс

Хотя это работает, на самом деле это неправильно. В чем проблема метода? Я не случайно написал "Private:" по-английски. Допустим, вы работаете над проектом с английской установкой WordPress — вам нужно будет удалить этот текст. Однако, если вы работаете с другим языком, вам следует это проверить. А если у вас многоязычный сайт — будете ли вы проводить отдельную проверку для каждого языка? Вы чувствуете, где я сражаюсь, не так ли? Вы также можете работать над темой / расширением (плагином), о котором вы не знаете, на каком языке они будут работать. В этих обстоятельствах использование фильтра the_title неверно..

Правильное решение

Чтобы правильно решить проблему, нам нужно использовать другой фильтр — private_title_format для частных / частных страниц или protected_title_format для страниц, защищенных паролем / защищенных паролем.

Читать также:  Базовые селекторы CSS

Вот пример приватных страниц:

add_filter (‘private_title_format’, ‘мой_private_title’); функция my_private_title ($ title_format) {вернуть ‘% s’; }

Сам фильтр разработан с идеей интернационализации и многоязычия. Используется для изменения формата заголовка, а не самого заголовка (который используется в фильтре the_title). Формат по умолчанию — «Частный:% s». Следует отметить, что результат фильтра передается через функцию интернационализации, поэтому используется "% s", которое затем заменяется самим заголовком. Остальное легко передать переводчикам, и при наличии необходимых файлов .MO все будет отлично работать..

В нашем случае мы возвращаем только «% s», что означает «Дайте мне только заголовок» — без префиксов, таких как «Частный» или «Защищенный»..

Надеюсь, найдутся люди, которые сочли эту информацию полезной!

Читать также:  Некоторые основные теги в HTML часть 2
Понравилась статья? Поделиться с друзьями:
Что нужно знать пользователю?