Что не так в коде, что он не переключает тему?

add_filter('template', 'load_theme');

function load_theme($theme) {
  $current_user = wp_get_current_user();

  if ($current_user->user_login === 'dev') {
    
    $theme = 'dev_template';
  }
  
  return $theme;
}
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
надо ваш фильтр вешать на экшен который срабатывает до setup_theme

например на plugins_loaded, надо как то так, но проверять сейчас не с руки, но в теории должно работать примерно так
add_action('plugins_loaded', 'check_theme', 1);

	function check_theme() {
		if ( current_user_can( 'manage_options' ) ) {
			add_filter( 'template', function(){
				return 'dev_template';
            } );
		}
	}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы