Замена темы (шаблона) на лету, только для администратора
Есть активно работающий сайт - постоянно добавляются статьи, идут комментарии.
Необходимо полностью заменить.переключить тему (шаблон). Перед переходом на новый шаблон его необходимо установить и настроить. Но в шаблоне много настроек, которых нет в старом шаблоне. Для полноценной настройки шаблона его необходимо активировать.
Вот и возник вопрос: как сделать так, чтобы активировать новую тему только для администратора (или специально созданного пользователя с правами администратора).
Чтобы настраивая новый, ни чего не менялось в выводах старого?
Нашел такой вариант:
Тут используются 2 фильтра template (фильтрует имя текущей темы) и stylesheet (фильтрует название текущих стилей). Указываем для фильтров название необходимой темы
twentytwelve
.Хук должен быть расположен до подключения functions.php темы, т.е. должен быть плагином.
Конкретно для вашего случая:
Создаем плагин: создаем файл
switch_theme.php
с таким кодом:Закидываем файл в папку плагинов, активируем плагин в админке. Название темы для админа меняем в custom_load_template().
Тимур, добавь это к себе в авторские плагины - это же круто. Находка для разработчика. Тот вариант, что я советовал человеку рабочий, но этот не просто рабочий, а ещё и крайне удобный! Спасибо большое автору за вопрос, а тебе за прекрасное решение.
Для плагина нужно сделать настройку наверное? Но спасибо, за совет, может быть добавлю, хотя не вижу особого смысла в этом.
Я сохранил в php файле и засунул в папку с плагинами. А из настроек в голову приходит лишь выбор используемой темы для админа. Но это так, мысли Насчет смысла, ты и прав. Кому надо, то сделает как я, к примеру. Кстати, вот у человека сессия сбивалась, а у меня сбились некоторые настройки некоторых плагинов. Не знаю, почему: то ли из за этого кода, то ли потому что просто сменил тему. Кстати, виджеты также послетали.
А текущие настройки виджетов и прочее не послетает при переключении?
Спасибо, помогло!
При активации такого плагина сессия постоянно слетает, и приходится перелогиниваться
Изменил код в ответе. У меня и с прошлым сессия не слетела и с этим все норм...
Я бы скорее всего скачал весь сайт вместе с базой на компьютер и экспериментировал на локалхосте.
Не пойдёт. Я же говорю, что сайт активный, постоянно добавляются посты, идут комменты.
Если на локальном делать, то потом проблемно будет переносить на сервер. Настройки в options собьются
Вы же шаблон разрабатываете/модернизируете, зачем Вам свежие комментарии и статьи для этого? Скачали дамп на локальный сервер и работаете со старыми комментами и статьями, тут же для разработки шаблона главное чтобы они вообще были, чтобы внешне выглядит как всё отрабатывается и отображается. А какие проблемы с переносом шаблона? Что получилось копируете на сервер (лишь папку с шаблоном). Да, скорее всего настройки в админке темы могу сброситься. Но сколько я тем так переносил - выставить их обратно не составляет труда, пара минут, даже меньше. Зато таким образом вы совершенно ничем не рискуете.