自定义程序生成的任何CSS都将直接写入head部分。 自定义程序API使用wp_head钩子。
我想以某种方式抓住这个CSS并将其连接到style.css。
我想做的是以下内容:
Customizer吐出一个类.red {color:red;}
我想抓住这些信息并以某种方式将其传输到我的style.css中。
理想情况下,Customizer CSS将插入到style.css的开头
编辑只是为了澄清:“定制器CSS”我指的是颜色选择器控件生成的CSS信息。不是来自“自定义CSS”输入字段的CSS - 这个我可以复制并粘贴到我的style.css
一个想法是将定制器CSS输出不是通过wp_head保存在head部分中,而是保存在其他地方,例如。
我该怎么做? 是否有一个钩子,它是否可能,它是否有意义?
这只是我的一个想法 - 我也对完全不同的方法持开放态度。
答案 0 :(得分:1)
我认为直接写入文件根本不是一个好主意。因为下次更改值时,不需要先前编写的CSS。动态值应该是可变的。当您按照建议将输出值写入文件时,先前生成的值将始终存在,这是多余的。
最好的方法是使用wp_add_inline_style
参考here。
使用以下方法将CSS添加到refereed文件:
function my_styles_method() {
$color = get_theme_mod( 'color-picker-control' ); //E.g. #FF0000
$custom_css = "
.mycolor{
background: sachet;
}";
wp_add_inline_style( 'main-style', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'my_styles_method' );