WordPress — Как скрыть часть страницы от не авторизованных пользователей

WordPress — Как скрыть часть страницы от неавторизированных пользователей

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

Создаем shortcode для скрытия части контента от не авторизованных пользователей.

Для этого переходим в папку с вашей темой WordPress и находим там файл functions.php. Переходим в самый низ этого файла и вставляем следующий код:

1
2
3
4
5
6
7
8
add_shortcode('swp_logged_in', 'swp_if_logged_in');
function swp_if_logged_in($atts, $content=""){
	if ( is_user_logged_in() ) {
		return $content;
	}else{
		return '<div class="swp_no_logged_in_msg">Для просмотра необходимо авторизоваться.</div>';
	}
}

В результате у вас должно получиться примерно вот так:

WordPress — Как скрыть часть страницы от не авторизованных пользователей

Вышеуказанным кодом мы создали функцию swp_if_logged_in() которая проверяет авторизован ли посетитель и если нет, то показывает соответствующее сообщение. Далее функцией add_shortcode() мы привязали нашу функцию к шоткоду swp_logged_in

Более подробно о работе с шоткодами вы можете узнать в статье: Shortcode WordPress (шорткод WordPress) учимся на примерах.

Выбираем какую часть страницы скрыть от не авторизованных пользователей

Когда наша функция готова и перекреплена к шоткоду, мы переходим в админку нашего сайта, на страницу в которой хотим что-то скрыть и в режиме кода ставим [swp_logged_in] перед нужной нам частью страницы и [/swp_logged_in] после этой части.

WordPress - Как скрыть часть страницы от не авторизованных пользователей.

Теперь все что находится между двух этих меток будет скрыто от не авторизованных пользователей и вместо этого им будет показано сообщение «Для просмотра необходимо авторизоваться».

Вот так вот в системе WordPress просто скрыть часть страницы от не авторизованных пользователей.

Оставить комментарий


пять + = 12