Members Area

Сегодня довелось работать на сайте, для которого требовалось создать контент, видимый только для залогиненных пользователей. Это была страница, которая и в меню показывалась только залогиненным юзерам. И как оказалось, сделать это довольно просто:

  1. Нужно создать шаблон для страницы с определёнными условиями,
  2. Создать копию меню для залогиненных пользователей,
  3. Прописать пару строчек кода в файле functions.php.

А теперь подробнее. Для начала создаём шаблон для страницы, которая будет видна только избранным. Делается это так: копируем файл, отвечающий за отображение страницы (по умолчанию – page.php) и называем её так, чтобы было понятно, что это шаблон страницы для залогиненных юзеров, например template-only-members.php. Затем открываем его в текстовом редакторе и в самом верху добавляем строчку, которая определит этот файл, как шаблон.

/* Template Name: Template Only For Members */

Где Template Only For Members – это название шаблона, которое будет отображаться при выборе его на странице редактирования… страницы. Имя может быть любым.
Ещё необходимо добавить вот такой код в тело страницы:

if ( is_user_logged_in() ) {
    // Контент страницы
} else {
    // То, что будет показано вместо контента
    // незарегистрированным пользователям
}

Теперь можно применить шаблон к нужной странице.

Теперь можно добавить страницу в меню. Чтобы не зарегистрированные пользователи не видели этого пункта меню, нужно сделать так, как описано в этой статье.

 


Тут могла быть ваша реклама.

Leave a Reply

Your email address will not be published. Required fields are marked *