Intereting Posts
Как я могу предварительно указать URL-адрес кнопки добавления медиафайла LESS CSS enqueue_style с add_filter для изменения атрибута rel Как вызвать метаданные сообщения в shortcode.php? Справка с инструкциями if и else Почему мой метаболизм не спасает? is_archive () не работает в публичных страницах var var var? Как показать только следующую ссылку для разбивки по страницам, используя wp_link_pages () Пользовательский MySQL-запрос для сообщений и сообщений Meta Заголовок заголовка на главной странице со временем Я хочу связать автора со всем, начиная с любого типа сообщения, которое они публикуют на веб-сайте manage_edit- {post_type} _sortable_columns сортирует, но неправильно! Разместить произвольный пост-тип случайным образом в упорядоченном запросе Фильтрация размера изображения в загрузчике мультимедиа в соответствии с типом пользовательского сообщения я делаю изменения текста на моем показе страницы в предварительном просмотре не на живом сайте, почему? Добавленные комментарии, но они отображаются выше содержания, а не ниже

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

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

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

Единственная помощь, которую я могу найти, – это разрешить только определенные уровни пользователей 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'; } 

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