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