1

对于所选配色方案,我有一个来自 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' />

传递该变量的正确方法是什么?

4

1 回答 1

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');
});
于 2013-04-24T03:30:26.557 回答