问题描述

我正试图让我的头发在 WordPress 中的 wp_add_inline_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 加载到主题中,这样可以更加自定义。

谢谢

最佳解决方案

wp_add_inline_style()旨在为现有样式表添加额外的 CSS 。想法是,您可能需要动态更改样式表 – 例如,您具有与类别相关联的 user-selected 颜色,并且您需要相应地对每个类别的标题进行着色。你不能硬编码,因为所讨论的颜色是不知道的,而是存在于数据库中。

所以

wp_enqueue_style(
   'custom-style',
    get_template_directory_uri() . '/css/custom_script.css'
);

正在排队现有的样式表,我们将附加我们动态生成的 CSS 。

看来你想要做的是加载 user-entered CSS 。我不会真的推荐这个 – 通过定制器提供调整是允许用户个性化主题的好方法,但是如果他们需要做出实质性的改变,那么他们真正的是一个 child theme

但是,如果要执行此操作,我将使用 wp_enqueue_style()加载主题的 style.css,然后附加自定义。 (大多数主题 seme 到 hard-code 的 style.css 进入<head>,但我不知道 hwy) 。


开发者:你应该知道这个 trac 的机票:http://core.trac.wordpress.org/ticket/24813

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。