Показать другую тему для администратора?

8

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

Есть ли плагин для этого?

рукав моря
источник
Вы можете использовать Theme Switch и Preview для этого. wordpress.org/extend/plugins/nkthemeswitch
Ли
wordpress.org/extend/plugins/theme-test-drive делает именно то, что вы хотите
Рональд
1
На данный момент (ноябрь 2018 года) обновлен только плагин Theme Switcha . Я нашел это, рассматривая список плагинов переключателя тем, о котором сообщается в статье Как разрабатывать темы WordPress за кулисами
Марко Паничи

Ответы:

11

Я только что написал этот быстрый плагин, и он, кажется, работает. Дайте мне знать, если есть лучший способ.

<?php

/*
Plugin Name: Theme Switch if Admin
Description: Display different theme to user if logged in as admin
Author: Kyle Barber
*/
    add_filter('template', 'change_theme');
    add_filter('option_template', 'change_theme');
    add_filter('option_stylesheet', 'change_theme');
    function change_theme($theme) {
        if ( current_user_can('manage_options') ) {
            $theme = 'twentyeleven';
        }

        return $theme;
    }
рукав моря
источник
Небольшая подсказка, плагин User Theme в официальном репо имеет небольшой плагин для этой работы, но без опций, такое же решение, как этот ответ.
Bueltge
Это потрясающий маленький плагин. Спасибо, что поделились.
Джармерсон
1

Вы получили switch_theme()и current_user_can( 'manage_options' );, который будет срабатывать только для учетных записей администратора.

кайзер
источник