Как защитить паролем страницу или пост в WordPress
Вы когда-нибудь думали о создании поста в блоге только для узкого круга людей (например, друзей или членов семьи)? Или опубликовать пост только для платных подписчиков на вашем сайте на WordPress? В качестве платформы для публикации контента WordPress поставляется с некоторыми базовыми возможностями видимости контента, о которых большинство новичков забывают. В этой статье мы покажем вам, как создать защищенную паролем страницу или публикацию в сайте на WordPress.
Когда вы пишете пост, его видимость по умолчанию устанавливается в «Открыто» (в правом боковом меню «Опубликовать»). Если вы нажмете ссылку «Изменить», вы увидите такие параметры, как «Защищено паролем» и «Личное».
Просто поставьте флажок «Защищено паролем», чтобы добавить пароль для своей публикации. При этом только пользователи, друзья или члены семьи, с которыми вы делитесь этим паролем, смогут увидеть данный пост. Защищенные посты в Консоли WordPress видны только пользователям с уровнем доступа Администратор или Редактор в WordPress.
Подобным образом вы сможете защитить паролем и страницы в WordPress.
Скрытие защищенных паролем постов полностью на Главной и странице архивов
Все ваши защищенные паролем посты могут отображаться среди остальных ваших публикаций на Главной странице или на страницах архивов (по дате, категории, месяцу, тегу и т.п.) вашего сайта. Если вы хотите полностью скрыть их, добавьте небольшой код в файл функций (functions.php
) вашей активной темы.
// скрытие защищенных постов function exclude_protected($where) { global $wpdb; return $where .= " AND {$wpdb->posts}.post_password = '' "; } // где показывать защищенные посты function exclude_protected_action($query) { if( !is_single() && !is_page() && !is_admin() ) { add_filter( 'posts_where', 'exclude_protected' ); } } // добавляем хук для постановки фильтра в очередь add_action('pre_get_posts', 'exclude_protected_action');
После этого ваши защищенные паролем публикации будут отображаться только в Консоли, на обычной странице и на странице поста.
Как показать часть защищенного паролем контента в WordPress
После того, как вы узнали, что можно защищать свои посты в WordPress паролем, попытаемся расширить данное знание. По умолчанию WordPress не показывает содержимое защищенного паролем поста, пока пользователь не введет правильный пароль. Тем не менее, иногда нужно не скрывать полностью контент такой страницы, а показывать небольшую «затравочку» — краткую выдержку из защищенного контента. В этом разделе данной статьи мы покажем вам, как отображать небольшой отрывок из защищенного паролем поста в WordPress.
В первую очередь вам нужно добавить небольшой фрагмент кода в файл functions.php
вашей активной темы.
function sebweo_protected_excerpt( $excerpt ) { if ( post_password_required() ) { $post = get_post(); $excerpt=$post->post_excerpt; } return $excerpt; } add_filter( 'the_excerpt', 'sebweo_protected_excerpt' ); function sebweo_protected_excerpt_posts( $content ) { if ( post_password_required() && is_single() ) { $post = get_post(); return $post->post_excerpt.$content; } } add_filter( 'the_content', 'sebweo_protected_excerpt_posts', 10 );
После этого откройте нужный пост в Консоли и нажмите кнопку «Настройки экрана» в верхней части страницы. Это откроет меню с дополнительными опциями. Убедитесь, что установлен флажок рядом с пунктом «Отрывок».
Это сделает видимым поле Отрывок под полем редактирования публикации. Вы можете добавить свою собственную выдержку (краткий вводный текст) для своего поста в этом поле.
Перед публикацией поста убедитесь, что он защищен паролем. Теперь, когда вы откроете страницу защищенного паролем поста, вы увидите ранее добавленный отрывок контента и поле для ввода пароля.
Используя советы из данной статьи, вы можете создавать защищенный контент на сайте и давать к нему доступ, например, по платной подписке. Или давать ссылку на пост и пароль своим друзьям или родственникам.
Мы надеемся, что эта статья помогла вам защитить паролем свои ценные посты/страницы в WordPress. Возможно, что раздел с описанием показа отрывка для защищенных паролем постов в WordPress также станет для вас полезным.