БЛОГ 2410

Как скрыть защищенные паролем сообщения из цикла WordPress

Как скрыть защищенные паролем сообщения из цикла WordPress
Обсудим ваш проект?

Предлагаем обсудить, чем мы можем вам помочь. Забронируйте 15-минутную консультацию.

Поделиться статьей

WordPress позволяет создавать сообщения, защищенные паролем. Недавно один из наших читателей спросил, можно ли скрыть с сайта сообщения, защищенные паролем. По умолчанию WordPress скрывает содержимое сообщения, защищенного паролем, но все равно показывает заголовок сообщения с префиксом «Защищено». В этой статье мы покажем вам, как скрыть защищенные паролем сообщения из цикла WordPress.

Зачем скрывать защищенные паролем сообщения в WordPress?

По умолчанию WordPress отображает сообщение, защищенное паролем, с его заголовком и префиксом «protected». Пользователи должны будут ввести пароль для просмотра содержания сообщения.

Сообщения, защищенные паролем, отображаются на главной странице и в виджетах
Сообщения, защищенные паролем, отображаются на главной странице и в виджетах Изображение с сайта wpbeginner.com

Этот заголовок сообщения отображается на главной странице, в архивах, в виджете последних сообщений и т. Д. Если вы хотите, чтобы какой-то контент оставался полностью приватным, то это не лучший вариант.

Не только пользователи, у которых нет пароля, могут видеть заголовок сообщения, они также могут попытаться ввести пароли. Как мы все знаем, пароли можно взломать.

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

Скрытие защищенных паролем сообщений в WordPress

Просто добавьте этот код в файл functions.php вашей темы или в плагин для конкретного сайта.

<?php
function wpb_password_post_filter( $where = '' ) {
    if (!is_single() && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

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

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

До и после скрытия защищенных сообщений в WordPress
До и после скрытия защищенных сообщений в WordPress Изображение с сайта wpbeginner.com

Вы по-прежнему можете посетить сообщение, открыв его через прямой URL-адрес самой публикации.

В приведенном выше примере сообщения, защищенные паролем, скрываются от всех пользователей. Что, если вы запустили сайт WordPress с несколькими авторами и хотите, чтобы защищенные сообщения были доступны для просмотра пользователям с возможностью редактировать личные сообщения?

Просто измените приведенный выше код с помощью другого условного тега, например:

<?php
function wpb_password_post_filter( $where = '' ) {
   if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

В этом примере мы проверяем, не может ли пользователь редактировать сообщения, защищенные паролем, а затем показываем только те сообщения, которые не имеют пароля. При этом все пользователи с пользовательскими ролями администратора и редактора будут видеть защищенные паролем сообщения в интерфейсе вашего сайта.

Мы надеемся, что эта статья помогла вам скрыть защищенные паролем сообщения из цикла WordPress на вашем сайте. Вы также можете посмотреть наше руководство о том, как изменить префикс закрытых и защищенных сообщений в WordPress.

Свяжитесь с нами.

Узнайте, чем мы можем быть для вас полезны.

Контакты
Как скрыть защищенные паролем сообщения из цикла WordPress | Блог 2410

Агентство веб разработки.

Услуги программирования и веб разработки по фиксированной цене. Специализация: WordPress, разработка B2B решений и создание кастомных скриптов.

WordPress

Разработка шаблонов, плагинов, интернет магазинов на WooCommerce, создание сайтов

Подробнее

B2B решения

CRM, ERP, внутренние системы, автоматизация, калькуляторы, SaaS и индивидуальные решения

Подробнее

Программирование

Разработка кастомных скриптов, API, интеграции, Zapier, Integromat, автоматизация

Подробнее

Подписка

Безлимитные услуги графического дизайна и веб разработки по фиксированной цене

Подробнее