Intereting Posts
Все запланированные должности WordPress публикуются немедленно Условно загружать дочерние темы Есть ли какое-то преимущество для опорожнения спама комментариев? Удалите мета-боксы (плагин Yoast SEO) Перечисление дочерних терминов родительского термина Как изменить wp-include, не нарушая мою установку wordpress? Добавление тегов и ввода в профиль пользователя Скрыть форму комментариев полностью (желательно без использования CSS) Настроить сообщение об ошибке WooCommerce Что считается датой создания сообщения для wp_insert_post? Получить список месяцев с сообщениями wp_mail: массив как $ to – несколько электронных писем или один адрес электронной почты со всеми идентификаторами электронной почты в нем? Текст по умолчанию, не отображаемый в настройках Как найти отлаженный плагин wordpress, вызывающий проблемы с производительностью «Временные файлы даты» в папке «Категория»

Альтернативы для настройки настроек

В моей теме JBST ( https://github.com/bassjobsen/jamedo-bootstrap-start-theme ) используется https://codex.wordpress.org/Theme_Customization_API .

Мне нужно добавить некоторые настройки по умолчанию для настройки. Я знаю, что add_setting() имеет возможность добавить значение по умолчанию. Использование этого значения по умолчанию, похоже, создает проблемы для дочерних тем, чтобы определить его собственные настройки по умолчанию.

Я уже нашел какое-то решение:

инициализация настройки:

  $wp_customize->add_setting( 'color', array( 'default' => false ) ); 

см. также: https://core.trac.wordpress.org/ticket/26817

В моих файлах темы:

 $color = get_theme_mod( 'color',color); if(!empty($color)) //check for empty cause there will be a fallbback //fallback doesn't need the declaration below { echo 'color: '.$color.';'; } 

в functions.php родительской темы:

 function jbst_default_settings() { do_action('jbst_child_settings'); if(!defined('color'))define('color','#ED9C28');//default } по function jbst_default_settings() { do_action('jbst_child_settings'); if(!defined('color'))define('color','#ED9C28');//default } 

в functions.php дочерней темы:

 add_action('jbst_child_settings','sample_jbst_child_settings'); function sample_jbst_child_settings() { define('color','red');//child theme's default } 

Интересно, кто-то может предоставить мне лучшее / альтернативное решение?

Solutions Collecting From Web of "Альтернативы для настройки настроек"

Интересно, можете ли вы добавить свой собственный фильтр jbst_default_color к jbst_default_color по умолчанию:

 $wp_customize->add_setting( 'color', array( 'default' => apply_filters( 'jbst_default_color', $color = '#ED9C28' ) ) ); 

где вы должны добавить это к дочерней теме:

 /** * Change the default color */ function childtheme_jbst_default_color( $color ) { $color = 'red'; return $color; } add_filter( 'jbst_default_color', 'childtheme_jbst_default_color', 99, 1 ); 

для изменения настроек цвета по умолчанию.

Или даже играйте с theme_mod_{$name} который применяется каждый раз при вызове:

  get_theme_mod( $name, $default = false ) 

где вас будет интересовать theme_mod_color .