无法让 WP Customizer Color Picker 实际更改我网站上的颜色

Having trouble getting WP Customizer Color Picker to actually change colors on my site

我正忙于在 WordPress 上开发我的第一个自定义主题。我已经转换并创建了所有文件,一切正常。原始文件基于 Bootstrap,但我已将样式表转换为不依赖。我终于到了一个地方,我想允许用户进行一些自定义,除此之外,我想添加更改主题颜色的功能。

我创建了一个单独的 customize.php 文件来处理我的定制程序代码。我还添加了 WP Color Picker 组件,它确实显示在 WP 仪表板 > 外观 > 自定义 window 中。问题是它实际上不起作用...

作为我测试的一部分,为了确保 Bootstrap 没有影响任何东西,我创建了一个 div 并给它一个自定义的 class 名称(一个不在网站上的其他任何地方找到),我给了 div 一些高度和宽度,在里面,我添加了一个 p-tag 只是为了有一些内容。我想做的是创建一个部分(在定制器中),允许用户更改 div

的背景颜色

在 customize.php 文件中:

<?php
function myTheme_customize_register($wp_customize){   
    $wp_customize->add_section('colors', array(       
        'title' => __('Colors', 'myTheme'),
        'priority' => 30
    ));

    $wp_customize->add_setting('bg_color', array(      
        'default' => '#f0a709',
        'transport' => 'postMessage',                     // I have also tried 'refresh'    
    ));

    $wp_customize->add_control( new WP_Customize_Color_Control ($wp_customize, 'bg_color', array(
        'label' => __('Background Color', 'myTheme'),
        'section' => 'colors',
        'settings' => 'bg_color',                        
    ))); 
}
add_action('customize_register', 'myTheme_customize_register');

在我的 functions.php:

<?php
function myTheme_customize_css(){ ?>                              
    <style type="text/css">
        .hi{
            background-color: <?php echo get_theme_mod('bg_color', '#f0a709'); ?> !important;
        }
    </style>
<?php 
}
add_action('wp-head', 'myTheme_customize_css');
require get_template_directory().'/inc/customize.php';
?>  

在定制器中,'Colors' 部分和拾色器可用,但选择另一种颜色没有任何作用。还可以使用附加CSS的选项,并且在选择div并给出一个自定义bg-color时进行测试,颜色确实会更改。我还在 customizer.php 中创建了另一段代码,它处理一些自定义页脚设置,例如标题文本和按钮自定义,并且工作正常。我觉得解决方案非常简单,但我只是没有看到它。任何帮助将不胜感激。

动作将是这样的:

add_action('wp_head', 'myTheme_customize_css');

你把动作名写错了。它将按预期工作。