Нашел ответ по адресу https://www.cssigniter.com/how-to-create-a-custom-color-scheme-for-your-wordpress-theme-using-the-customizer/.
Вот наиболее актуальный код:
function theme_enqueue_styles() {
wp_enqueue_style( 'theme-styles', get_stylesheet_uri() ); // This is where you enqueue your theme's main stylesheet
$custom_css = theme_get_customizer_css();
wp_add_inline_style( 'theme-styles', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
theme_get_customizer_css()
вот пользовательская функция, которая возвращает строку например, CSS, который напрямую переписывает любой код в основной таблице стилей, относящийся к цветам. Поскольку он генерируется в PHP, get_theme_mod()
может использоваться для проверки / вставки любых настроек настройщика. Как только это CSS сгенерировано, wp_add_inline_style()
добавляет его в основную таблицу стилей; если все закодировано должным образом, каскадная природа CSS будет иметь недавно добавленный код переопределять предыдущий код без необходимости !important
или чего-либо в этом роде.
Мне остается задаться вопросом, если вместо При переопределении встроенные вставки могут (или должны) быть единственным объявлением CSS, которое может быть изменено настройщиком, т. е. в theme_get_customizer_css()
, если не заданы параметры настройки, возвращать код по умолчанию, а не код по умолчанию, находящийся в электронная таблица для начала. Это позволило бы избежать появления множества дубликатов CSS, полагаясь на работу каскадных иерархий, но таблица стилей также была бы неполной сама по себе, поэтому, может быть, есть причина этого не делать? Буду рад, если у кого-то есть мысли.