2015-02-11 3 views
1

Как скрыть определенные категории из «не зарегистрированных пользователей» в блоге Wordpress? И перенаправить эти «не зарегистрированные пользователи» на экран входа в систему и после входа на страницу сообщения?Скрыть категорию для неавторизованных пользователей Wordpress

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

Я пытался добавить этот код в funcions.php:

<?php 
if (is_user_logged_in()) { 
query_posts(); 
} 
else{ 
query_posts(cat= -1); 
} 
?> 

Но это показывает пустую страницу на администратора и передней части.

Есть ли кто-нибудь, кто может мне помочь, как это сделать? Для этого должен быть плагин, но его нет. Любая помощь будет приветствоваться. Благодаря!

+0

Привет, добро пожаловать в SO. Не могли бы вы отредактировать вопрос и поделиться тем, что вы уже пробовали? Это поможет дать вам ответ. –

+0

Я попытался добавить этот код к funcions.php: ' ' Для перенаправления на вход в систему я использую плагин. Сначала я хотел попытаться скрыть определенную категорию для не зарегистрированных пользователей. – val

ответ

0

Wordpress имеет очень простой условный тег для не отображать содержимое, если пользователь не вошел в систему:

<?php 
if (is_user_logged_in()) { 
    echo 'Welcome, registered user!'; 
} else { 
    echo 'Welcome, visitor!'; 
} 
?> 

Это будет работать, если вы редактируете свой собственный шаблон.

В противном случае this plugin является большим.

Чтобы перенаправить пользователей после входа в систему, используйте this plugin, также отлично!

+0

Спасибо, Зигфрид, но в описании плагина написано: WP-Members автоматически не скрывают абсолютно все из вида. Установленная по умолчанию установка плагина предназначена для использования контента «тизер», чтобы заставить пользователей регистрироваться. Если вы хотите, чтобы определенный контент или элементы меню были полностью скрыты, есть способы сделать это с некоторой настройкой между вашей темой и плагином, но он не является автоматическим. – val

+0

Я стараюсь просто скрыть всю запись для неавторизованных пользователей. Точно так же, как если сообщение вообще не существует ... почтовый URL будет перенаправлен на вход в систему, а после успешного входа в систему переадресовать обратно на URL-адрес сообщения (показ сообщения для пользователя вошел в систему) – val

0

А ... это похоже на то, что код помещается в Loop, а не в function.php. Я задам новый вопрос о том, как создать функцию, которая скрывает определенную категорию, если пользователь не выполнил вход. Спасибо за ваше время и предложения!

Смежные вопросы