我从所选颜色方案的wordpress主题选项中得到一个变量:
$themecolor
我想使用以下代码正确包含样式表:
<?php /* enqueue color stylesheet */
function add_color_style() {
wp_register_style( 'color_style', get_template_directory_uri().'/css/'.$themecolor.'.css', 'all' );
wp_enqueue_style('color_style');
}
add_action('wp_enqueue_scripts', 'add_color_style'); ?>
问题是$ themecolor变量没有被传递到函数中,所以输出最终会像这样:
<link rel='stylesheet' id='color_style-css' href='http://bbmthemes.com/themes/expression/wp-content/themes/expression/css/.css' type='text/css' media='all' />
而不是这样:
<link rel='stylesheet' id='color_style-css' href='http://bbmthemes.com/themes/expression/wp-content/themes/expression/css/lime.css' type='text/css' media='all' />
传递该变量的正确方法是什么?
答案 0 :(得分:2)
如果该选项来自global $themecolor
表格,您可以在函数中使用$themecolor = get_option('themecolor');
,或者只使用该函数中的wp_options
。
你也可以这样做......
add_action('wp_enqueue_scripts', function() use ($themecolor) {
wp_register_style( 'color_style', get_template_directory_uri().'/css/'.$themecolor.'.css', 'all' );
wp_enqueue_style('color_style');
});