Как сделать приватную страницу WordPress (3 метода)
Опубликовано: 2023-03-23В WordPress и страницы, и записи по умолчанию доступны для широкой публики. Обычно это нормально, но часто бывают ситуации, когда вы захотите ограничить доступ. Существуют различные способы сделать страницу WordPress приватной, в том числе с помощью внутренних инструментов WordPress, путем редактирования вашей темы и с помощью плагина.
Лучший метод зависит от того, чего именно вы пытаетесь достичь. Инструменты в WordPress работают очень хорошо, если вы хотите создать приватную страницу, которую могут просматривать только редакторы сайта и администраторы, или ограничить доступ на основе пароля.
К сожалению, внутренние инструменты имеют свои ограничения. Вам нужно будет использовать другой метод, если ваша цель состоит в том, чтобы ограничить контент для пользователей, которые вошли в систему, или для определенных платных или бесплатных уровней членства.
Что такое частная страница?
Частная страница WordPress — это просто частная. Большая часть контента на вашем сайте доступна для всех, но доступ к частной странице есть только у определенных людей. Приватный пост — это по сути то же самое, только пост вместо страницы. Методы, описанные ниже, работают для обоих типов контента.
Есть как минимум три разных способа сделать ваш контент WordPress приватным:
- Изменение видимости.
- Защита его паролем.
- Ограничение доступа на основе уровня пользователя.
Точный метод, который вы используете, зависит от того, чего вы пытаетесь достичь. Вы можете использовать встроенные инструменты WordPress, чтобы изменить любую публикацию или страницу на вашем сайте с общедоступной на частную и обратно одним щелчком переключателя. Защищенные паролем записи и страницы WordPress так же легко настраиваются и гарантируют, что только пользователи с паролем могут просматривать контент. К сожалению, оба этих метода ограничены в возможностях.
В случае личных страниц и сообщений WordPress только пользователи с правами редактора или администратора могут просматривать сообщение или страницу, для которой установлен режим видимости «Личное». Невозможно предоставить доступ к другим уровням пользователей, кроме как сделать его общедоступным или поставить на него пароль.
Защита паролем каждого фрагмента контента, который вы хотите сделать приватным, возможна, но это происходит за счет плохого взаимодействия с пользователем.
Создание частной страницы или публикации
Первый шаг — создать новую страницу, выбрав «Страницы» в меню администратора WordPress и нажав «Добавить новую». Вы также можете изменить конфиденциальность существующей страницы, выбрав ее, а затем выполнив остальную часть этого процесса.
Затем найдите раздел «Сводка» в правой части окна редактирования и нажмите «Видимость». Откроется модальное окно, в котором можно выбрать один из трех вариантов:
- Общедоступный: параметр по умолчанию для всех страниц и сообщений.
- Личное: это ограничит видимость для администраторов и редакторов сайта.
- Защита паролем: этот параметр ограничивает видимость для посетителей, которые вводят правильный пароль.
В общем, вам лучше использовать другой метод для управления доступом пользователей к содержимому, но бывают ситуации, когда защита паролем выполняет свою работу. Он также имеет двойное преимущество: он бесплатный и очень простой в настройке. Просто нажмите «Защищено паролем», введите свой пароль, и все готово.
Основным недостатком является то, что пароли безопасны только для вашей пользовательской базы. Встроенные инструменты позволяют установить один пароль для страницы или публикации. Невозможно случайным образом генерировать их для каждого пользователя и нельзя запретить пользователям делиться ими. Вы можете часто менять их, но это потребует от вас больше работы и только ухудшит работу пользователя.
«Закрытый» контент — одна из самых популярных причин для того, чтобы сделать части вашего сайта WordPress приватными. Как правило, это означает, что эти сообщения, страницы и загрузки разрешены только зарегистрированным пользователям, чего не могут сделать внутренние инструменты.
В следующем разделе мы обсудим, как ограничить доступ к контенту с помощью дочерней темы, а также рассмотрим некоторые из доступных плагинов для создания личных страниц и сообщений на основе доступа пользователя.
Ограничение доступа на основе пользователей
Внутренние инструменты WordPress имеют свое применение, но они не дают вам возможности гарантировать, что только авторизованные пользователи могут получить доступ к сообщению или странице. Для этого мы рекомендуем либо изменить файл functions.php
дочерней темы, либо использовать плагин.
Сделайте контент приватным с помощью дочерней темы
Можно ограничить доступ пользователей, внеся изменения в файл functions.php
в вашей теме. Сам файл находится в wp-content/themes/name_of_theme
.
Первым шагом в использовании этой техники является создание дочерней темы. Мы не рекомендуем вносить изменения непосредственно в родительскую тему, поскольку одна ошибка может иметь серьезные последствия для представления вашего сайта. Кроме того, в какой-то момент эта тема, вероятно, получит обновление. Любые изменения, внесенные вами в родительскую тему, будут стерты обновлением.
После того, как вы создали дочернюю тему, следующим шагом будет добавление пользовательского кода в ее файл functions.php
.
Это решение позволит вошедшим в систему пользователям получать доступ к сообщению или странице, в то время как пользователи, которые не вошли в систему, переходят на страницу входа.
Приведенный ниже код состоит из следующих элементов:
- Хук
template_redirect
: выполняется непосредственно перед тем, как WordPress выбирает шаблон для загрузки. - Функция
get_queried_object_id()
: считывает идентификатор текущей страницы пользователя. - Массив идентификаторов страниц: это сообщит функции, какие страницы следует ограничить для зарегистрированных пользователей.
В приведенном ниже примере используется массив с именем private_pages
, установленный для ограничения идентификаторов страниц 2, 15 и 17. Вам нужно будет вставить сюда свои собственные идентификаторы страниц, чтобы код работал. Вам также нужно будет заменить «LINK_TO_LOGIN_PAGE» ссылкой на страницу входа или регистрации.
~~~ if( !function_exists('private_logged_in_users') ): add_action( 'template_redirect', 'private_logged_in_users' ); function private_logged_in_users(){ /* Reads the current page ID */ $page_id = get_queried_object_id(); /* List of IDs restricted to logged-in users */ $private_pages = [ 2,15,17, ]; if( ( !empty($private_pages) && in_array($page_id, $private_pages) ) && !is_user_logged_in() ): wp_die('To view this content, please <a href="LINK_TO_LOGIN_PAGE" target="_blank">log in or register.</a>'); return; exit; endif; } endif; ~~~
Одним из недостатков этого метода является то, что сообщения и страницы, которые вы хотите сделать приватными, вероятно, не являются статичными. Каждый раз, когда вы добавляете новую часть закрытого контента, вам придется обновлять идентификаторы страниц в вашем массиве.
Кроме того, это не позволяет вам ограничивать доступ на основе уровней членства, платного членства и т. д. Пока пользователь вошел в систему, он будет видеть контент.
Делаем страницы WordPress приватными с помощью плагина
Есть преимущества в управлении личными страницами и сообщениями с помощью плагина. Обычно они предлагают возможности, выходящие за рамки простой блокировки доступа к сообщению в зависимости от уровня пользователя, позволяя вам ограничивать контент в соответствии с вашими потребностями.
Ограничить содержимое
Этот плагин членства от Stellaris обещает «полный контроль над тем, кто может и не может просматривать контент на вашем сайте WordPress». Бесплатная версия позволяет создавать несколько уровней членства и ограничивать доступ к сообщениям, страницам, медиафайлам, пользовательским типам сообщений и запросам API. Доступно бесплатное дополнение Stripe, которое позволяет собирать платежи по дебетовым и кредитным картам.
После того, как вы установили и активировали плагин, вы можете ограничить любой фрагмент контента с помощью раскрывающегося меню в окне редактирования контента.
Существует множество вариантов ограничения доступа к вашему контенту, в том числе ограничение доступа для участников любого уровня доступа, участников любого платного уровня и участников определенного уровня.
Анонимное ограничение контента
Этот плагин предлагает простой способ ограничить доступ к контенту авторизованным пользователям. После установки и активации Anonymous Restricted Content добавляет «Restricted Content» в меню «Настройки» на панели управления WordPress. Оттуда вы просто вводите несколько деталей, касающихся страницы, на которую вы хотите перенаправлять пользователей, и сообщения, которое вы хотите отображать на своей странице входа.
Анонимный контент с ограниченным доступом позволяет вам ограничивать контент как массовое действие. Просто перейдите в раздел «Сообщения» или «Страницы» на своем сайте WordPress, отметьте элементы контента, которые вы хотите ограничить, и выберите «Ограничить для анонимных» в раскрывающемся меню массовых действий.
Управление контентом
Этот плагин позволяет вам ограничить доступ к страницам и сообщениям вошедшим в систему пользователям, определенным ролям пользователей и пользователям, не выполнившим вход в систему. Управление контентом дает вам возможность ограничивать определенные части вашего контента с помощью шорткодов. Кроме того, вы можете использовать плагин для управления видимостью виджетов боковой панели и нижнего колонтитула в зависимости от пользователя и уровня доступа.
После установки и активации плагин добавляет «Контроль контента» в меню «Настройки». Оттуда, нажав «Добавить ограничение», откроется Редактор ограничений, позволяющий адаптировать ограниченный контент в соответствии с вашими потребностями.
Заключение
WordPress предлагает различные способы создания личных сообщений и страниц. Лучший метод для использования зависит от ваших целей. Внутренние инструменты WordPress очень просты в использовании и работают безупречно, но они ограничены защитой паролем или позволяют только администраторам и редакторам просматривать содержимое.
Описанный нами метод создания личных сообщений и страниц с дочерней темой также имеет ограничения. Он требует ручного обновления массива идентификаторов страниц в вашем файле functions.php
каждый раз, когда вы добавляете новую часть личного контента, и он ограничивает только не вошедших в систему пользователей от просмотра контента, без возможности ограничить контент на основе уровня доступа. . Есть способы обойти эти ограничения, но они требуют более продвинутых навыков кодирования.
Правильный плагин может помочь вам пометить страницы, сообщения и другие части контента как частные, а также ограничить доступ на основе более строгих требований, чем просто вход в систему: уровень доступа, платное членство и так далее. В зависимости от ваших целей, плагин может быть лучшим и самым простым способом сделать определенные страницы WordPress приватными и ограничить доступ к вашему контенту.
Управляемый хостинг с WP Engine дает вам еще больший контроль над тем, кто именно может получить доступ к вашему сайту. Используя Web Rules Engine, вы можете запретить прямой доступ к личным файлам, ограничить доступ из определенных стран или регионов, перенаправить страницы и многое другое.
Узнайте больше о ведущем в отрасли хостинге WordPress, включая отмеченную наградами поддержку 24/7/365 в WP Engine .