我正忙着在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';
?> 在Customizer中,“Colors”部分和颜色选择器都可用,但选择另一种颜色不起任何作用。附加CSS的选项也是可用的,当选择div并给它一个自定义的bg颜色时,颜色确实会发生变化。我还在customizer.php中创建了另一段代码,用于处理一些自定义页脚设置,如标题文本和按钮自定义,并且运行良好。我有一种感觉,解决方案真的很简单,但我就是看不出来。任何帮助都将不胜感激。
发布于 2020-11-24 01:04:21
操作将如下所示:
add_action('wp_head', 'myTheme_customize_css');您将操作名称写错了。它会像预期的那样工作。
https://stackoverflow.com/questions/64968889
复制相似问题