如何使用主题选项中的颜色?

时间:2012-11-26 作者:byronyasgur

我正在构建一个主题,并在选项中为链接颜色创建了一个位置。我似乎无法以任何合理的方式将此纳入主题。我能做的就是把它放在后面wp_head ... 但这似乎不对。颜色将是十六进制颜色,所以我不能只为固定数量的颜色设置样式表,并有条件地将其中一种颜色排队。我想我可以用jQuery做到这一点,但我真的希望不必求助于它。我想我所要寻找的是某种将内联样式排队的方法,但这样的概念是否存在,如果不存在,那么最好的方法是什么。我真的认为链接颜色选项和类似的东西会很常见,也很容易实现。

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

您只需在回调中调用该选项,并将其挂接到wp_print_styleswp_head (在本例中,任何一个在语义上都是正确的)。

首先,设置回调,它将打印一个内联样式表:

function wpse74013_print_custom_styles() {
    ?>
<style type="text/css">

</style>
    <?php
}
add_action( \'wp_head\', \'wpse74013_print_custom_styles\' );
下一步是访问主题选项:

$options = get_option( \'my_theme_options\' );
现在需要应用链接颜色,我假设$options[\'link_color\'], 到您的CSS。假设链接颜色在中定义style.css 像这样:

a { color:#0000FF; }
只需根据需要替换十六进制值:

a { color:#<?php echo $options[\'link_color\']; ?>; }
在您的回拨中将所有内容放在一起:

function wpse74013_print_custom_styles() {
// Get Theme options
$options = get_option( \'my_theme_options\' );
    ?>
<style type="text/css">
a { color:#<?php echo $options[\'link_color\']; ?>; }
</style>
    <?php
}
add_action( \'wp_head\', \'wpse74013_print_custom_styles\' );
就这样!您应该在文档头中看到内联样式表的输出,以及用户对链接颜色十六进制值的设置输出。

SO网友:Wyck

wp_head 通常是这样做的,至少对于小的外观变化是这样的。您应该检查的是Theme Customization API, 特别是WP_Customize_Color_Control 以及该页面底部的tuturials链接。这样,您就可以挂接到预览中,并使用内置颜色控制盘动态更改颜色,然后保存所需的颜色。

结束

相关推荐

如何根据用户角色级别定位css、admin元素?

我正在使用插件“增强的功能管理器”和“Adminimize”。在这两者之间,我已经能够做很多我想做的事情。我仍然需要隐藏一些元素,并且能够使用css将它们作为目标。问题是这些元素在所有管理用户级别都是隐藏的。是否有某种内置功能可以区分管理中的不同角色级别?我认为最好的方法是根据登录时的角色级别向body标记中添加一个类——例如,如果登录角色级别为“author”,则为“author”类。如果这是最好的方法,我就不知道如何编写代码来实现这一点。我假设它是对函数的php添加。php???