Переключение Темы Через Панель Параметров

  • Автор темы Qiji7400
  • Обновлено
  • 22, Oct 2024
  • #1

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

РЕДАКТИРОВАТЬ: Это для пользователя на его собственном сетевом сайте.

#themes #параметры тем #пользователи #переключатель

Qiji7400


Рег
09 Jul, 2009

Тем
70

Постов
199

Баллов
569
  • 25, Oct 2024
  • #2

Если в вашу тему встроены параметры темы, то, если бы люди переключили ее, административный аспект темы был бы потерян, если бы он не был в каждой теме, поэтому я бы сделал следующее:

  • Сделайте доступные темы для переключения дочерними темами той, которая имеет всю внутреннюю функциональность.

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

или

  • Превратите функциональность страницы параметров темы в плагин.

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

Что касается кода, есть два фильтра, которые вы можете использовать в зависимости от маршрутизации темы. Для дочерних тем вам нужно только отфильтровать таблицу стилей:

 switch_theme() 

Примечание. используя add_action( 'setup_theme', 'switch_user_theme' ); function switch_user_theme() { if ( false != ( $user_theme = get_user_meta( wp_get_current_user()->ID, 'theme', true ) ) ) { add_filter( 'template', create_function( '$t', 'return "' . $user_theme . '";' ) ); add_filter( 'stylesheet', create_function( '$s', 'return "' . $user_theme . '";' ) ); } } function updates the default theme for the whole site, not just the user.

 

anaepeatoma


Рег
02 Sep, 2010

Тем
85

Постов
185

Баллов
610
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно