尝试以下操作:
不建议使用查询条件将样式排队直接放入模板中。这是可能的(如果您了解相关行动的启动顺序,并确保wp_add_inline_style()
发生在执行顺序的正确点)。将所有代码放在一起并使用适当的查询条件要容易得多,例如is_single()
, 要添加动态样式,请执行以下操作:
function add_custom_css() {
wp_enqueue_style(\'custom-css\', get_template_directory_uri() . \'/custom.css\');
// Add dynamic style if a single page is displayed
if ( is_single() ) {
$color = "#000111";
$custom_css = ".mycolor{ background: {$color}; }";
wp_add_inline_style( \'custom-css\', $custom_css );
}
}
add_action( \'wp_enqueue_scripts\', \'add_custom_css\' );
原始答案
functions.php
function add_custom_css() {
wp_enqueue_style(\'custom-css\', get_template_directory_uri() . \'/custom.css\');
}
add_action( \'wp_enqueue_scripts\', \'add_custom_css\', 20 );
single.php
function wpse104657_custom_color() {
$color = "#000111";
$custom_css = "
.mycolor{
background: {$color};
}";
wp_add_inline_style( \'custom-css\', $custom_css );
}
add_action( \'wp_enqueue_scripts\', \'wpse104657_custom_color\', 21 );
中的第三个参数
add_action()
调用是优先级,它告诉WordPress添加操作的顺序——数字越大意味着执行越晚。
Edited to add 这不会将任何代码添加到custom.css
-- 它只会添加内联样式custom.css
已加载。
wp_enqueue_style()
wp_add_inline_style()