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

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Недавно я столкнулся с очень интересной задачей и решил поделиться этим с вами. Мне нужно было подключать другой шаблон темы WordPress для пользователей, у которых есть доступ к курсу.

Все мы знакомы с интерфейсом шаблонов страниц и типов записей в WordPress, который в Gutenberg выглядит вот так:

Чтобы шаблон лендинга отображался только для неавторизованных пользователей, мы можем воспользоваться хуком template_include.

/**
 * @snippet Меняем шаблон WordPress для неавторизованных пользователей
 * @author  Миша Рудрастых
 * @url     https://misha.agency/wordpress/menyaem-podklyuchaemyj-shablon-straniczy-na-letu.html
 */
 
add_filter( 'template_include', 'true_change_template', 25 );
 
function true_change_template( $template ) {
 
	// если это страница определённого типа записи
	// и если пользователь авторизован
	// то лендинг ему вообще ни к чему
	if ( is_singular( 'course' ) && is_user_logged_in() ) {
 
		// $template = __DIR__ . '/single-course.php';
		$template = locate_template( 'single-course.php' );
 
	}
 
	return $template;
 
}
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии