is_post_type_viewable

15 февраля, 2025
Узнайте, как использовать хук is_post_type_viewable для проверки доступности произвольных типов записей в WordPress
Быстрая навигация по записи

Описание is_post_type_viewable

— Filter

Хук is_post_type_viewable позволяет изменить логику проверки доступности произвольных типов записей. Он срабатывает при проверке, видим ли данный тип записи для текущего пользователя и может быть использован для управления доступом к контенту в зависимости от пользовательских ролей и прав

Примеры использования

Пример ограничения доступа к произвольному типу записи для определенных ролей:

				
					add_filter('is_post_type_viewable', function($is_viewable, $post_type) {
   if ($post_type === 'custom_type' && !current_user_can('manage_options')) {
       return false;
   }
   return $is_viewable;
}, 10, 2);
				
			

В этом примере мы запрещаем доступ к произвольному типу записи ‘custom_type’ для пользователей, не обладающих правами администратора

Пример изменения доступности стандартного типа записи ‘page’:

				
					add_filter('is_post_type_viewable', function($is_viewable, $post_type) {
   if ($post_type === 'page' && !is_user_logged_in()) {
       return false;
   }
   return $is_viewable;
}, 10, 2);
				
			

Здесь мы запрещаем доступ к страницам для незарегистрированных пользователей

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

				
					add_filter('is_post_type_viewable', function($is_viewable, $post_type) {
   if ($post_type === 'event' && strtotime(get_the_date()) > time()) {
       return false;
   }
   return $is_viewable;
}, 10, 2);
				
			

В этом примере мы запрещаем просмотр событий, которые ещё не наступили

— Лучшие практики

– Использование

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

– Производительность

Хук срабатывает только в контексте проверки доступа, поэтому влияние на производительность минимально

– Предупреждения

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

Альтернативы

Тип: action

Этот хук позволяет изменить запрос к базе данных перед его выполнением и может использоваться для фильтрации постов по различным критериям

Используйте его, если необходимо более гибкое управление выборкой записей

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

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Мега меню
Премиальный шаблон для создания сайта компании или интернет магазина с высокой конверсией на базе WordPress и WooCommerce, раскрывающий всю мощь плагина Elementor, как лучшего визуального редактора!

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически.

* Отправляя данные, вы соглашаетесь с политикой конфиденциальности.

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊