我正忙着在 WordPress 上开发我的第一个自定义主题。我已经转换并创建了所有文件,一切正常。原始文件基于 Bootstrap,但我已将样式表转换为不依赖。我终于到了一个我想允许用户进行一些自定义的地方,除其他外,我想添加更改主题颜色的能力。
我创建了一个单独的 customize.php 文件来处理我的定制器代码。我还添加了 WP 颜色选择器组件,它确实显示在 WP 仪表板 > 外观 > 自定义窗口中。问题是它实际上不起作用......
作为我测试的一部分,为了确保 Bootstrap 不会影响任何东西,我创建了一个 div 并给它一个自定义类名(在网站上的其他任何地方都找不到),我给了 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';
?>
在定制器中,“颜色”部分和颜色选择器都可用,但选择另一种颜色没有任何作用。还可以使用其他CSS的选项,并且在选择DIV并给出自定义BG色时进行测试,颜色确实会发生变化。我还在customizer.php 中创建了另一段代码,它处理一些自定义页脚设置,例如标题文本和按钮自定义,这工作得很好。我觉得解决方案非常简单,但我只是没有看到它。任何帮助将不胜感激。