Intereting Posts
Получение почтовых метаданных при редактировании сообщения в панели wp-admin Добавить nofollow в пользовательскую ссылку поля и сделать исключения для домена? Проблема обновления профиля пользователя WP Rest API v2.0 Вкладки сайта на веб-сайте WordPress? Как обновить мой сайт с помощью WordPress? Если нет разрешения на редактирование пост-перенаправления на страницу публикации WordPress отключить вкладку «Установить темы» Как добавить настраиваемое поле в сообщение, созданное программно? Пользовательский отклик плагина контроллера WordPress Rest API Как программно добавить в новое меню WordPress Изменение Genesis <title> Тег с шаблона страницы Как перезаписывается URL-адрес W3 Total Cache CDN? резервный пул для настраиваемого типа и перенаправление на настраиваемый шаблон Использовать WP_Query в shortcode Совместное использование общих функций (функций, частей шаблона) между плагинами и темами?

Показывать категорию только определенным уровням пользователя без плагина

Я создаю сайт для некоторых армейских парней, чтобы делиться фотографиями, и одна вещь дергает меня.

У них есть несколько фотографий, которые понравятся всем, кто зарегистрировался для просмотра сайта, и другим, которые они могут просматривать. Но они не могут быть администраторами.

Единственная помощь, которую я могу найти, – это разрешить только определенные уровни пользователей POST для категории. Я хотел бы в основном ограничить «подписчиков» от просмотра некоторых сообщений.

Не прося никому писать что-то для меня, но точка в правильном направлении была бы потрясающей.

Solutions Collecting From Web of "Показывать категорию только определенным уровням пользователя без плагина"

Если я понимаю, что у вас есть некоторые категории, например: «зарезервированные», «люди», «пейзажи», «личные» и т. Д.

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

Это относительно просто, просто подключитесь к pre_get_posts и если запрос для сообщения, имеющего эти термины, или термин архив отключить просмотр.

Чтобы отключить вас, у вас есть разные чины, вы можете перенаправить, вы можете показать 404 или вы можете показать собственный шаблон.

Ниже я говорю, как последний вариант.

Прежде всего создайте файл шаблона, например not-allowed.php и поместите в папку темы.

Затем в functions.php используйте этот код:

 add_filter('template_include', 'restict_by_category'); function check_user() { $user = wp_get_current_user(); if ( ! $user->ID || in_array('subscriber', $user->roles) ) { // user is not logged or is a subscriber return false; } return true; } function restict_by_category( $template ) { if ( ! is_main_query() ) return $template; // only affect main query. $allow = true; $private_categories = array('reserved', 'personal'); // categories subscribers cannot see if ( is_single() ) { $cats = wp_get_object_terms( get_queried_object()->ID, 'category', array('fields' => 'slugs') ); // get the categories associated to the required post if ( array_intersect( $private_categories, $cats ) ) { // post has a reserved category, let's check user $allow = check_user(); } } elseif ( is_tax('category', $private_categories) ) { // the archive for one of private categories is required, let's check user $allow = check_user(); } // if allowed include the required template, otherwise include the 'not-allowed' one return $allow ? $template : get_template_directory() . '/not-allowed.php'; } 

Загрузите и установите плагины Ограничьте категории . Ограничьте определенные категории для определенных ролей и опубликуйте фотографии в соответствующих категориях.