了解wp_add_inline_style

时间:2013-08-03 作者:Robert

我正试图了解WordPress中的wp\\u add\\u inline\\u style()函数。

//setting inline css.
function my_styles_method() {
    wp_enqueue_style(
        \'custom-style\',
        get_template_directory_uri() . \'/css/custom_script.css\'
    );
        $color = get_theme_mod( \'my-custom-color\' ); //E.g. #FF0000
        $custom_css = "
                .mycolor{
                        background: {$color};
                }";
        wp_add_inline_style( \'custom-style\', $custom_css );
}
add_action( \'wp_enqueue_scripts\', \'my_styles_method\' );
我理解其中的大部分,但我不理解这一点:

wp_enqueue_style(
   \'custom-style\',
    get_template_directory_uri() . \'/css/custom_script.css\'
);
这是一种依赖关系吗?还是一个空白的css文件,这样代码就可以写入其中?

如果是其家属,那么为什么?我只想将自定义css加载到主题中,这样它就可以更具自定义性。

谢谢

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

wp_add_inline_style() 旨在向现有样式表添加其他CSS。其想法是,您可能需要动态更改样式表-例如,您有用户选择的与类别相关的颜色,并且希望相应地为每个类别的标题上色。您不能硬编码,因为所讨论的颜色未知,但存在于数据库中。

所以

wp_enqueue_style(
   \'custom-style\',
    get_template_directory_uri() . \'/css/custom_script.css\'
);
正在对现有样式表进行排队,我们将把动态生成的CSS附加到该样式表。

看起来您要做的是加载用户输入的CSS。我真的不建议这样做-通过定制器提供调整是允许用户个性化主题的好方法,但如果他们需要进行实质性更改,他们真正想要的是child theme.

然而,如果你要这样做,我会使用wp_enqueue_style() 加载主题的style.css 然后附加自定义项。(大多数主题似乎都是硬编码的style.css 进入<head>, 但我不知道高速公路)。

<小时>Developers: 您应该知道此trac票据:http://core.trac.wordpress.org/ticket/24813

结束

相关推荐

不同文件夹中父项的style.css的子项主题模板值

我正在制作一个儿童主题.../wp-content/themes/ 然而,我构建的父主题位于.../wp-content/plugins/ 目录我可以导入父级style.css 文件使用目录路径,但当我尝试对模板值执行相同操作时,它不起作用。类似地,父主题文件夹的简单名称也不起作用,可能是因为父主题位于不同的目录中。有没有办法解决这个问题?