我正在构建一个主题,并在选项中为链接颜色创建了一个位置。我似乎无法以任何合理的方式将此纳入主题。我能做的就是把它放在后面wp_head
... 但这似乎不对。颜色将是十六进制颜色,所以我不能只为固定数量的颜色设置样式表,并有条件地将其中一种颜色排队。我想我可以用jQuery做到这一点,但我真的希望不必求助于它。我想我所要寻找的是某种将内联样式排队的方法,但这样的概念是否存在,如果不存在,那么最好的方法是什么。我真的认为链接颜色选项和类似的东西会很常见,也很容易实现。
如何使用主题选项中的颜色?
2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成
您只需在回调中调用该选项,并将其挂接到wp_print_styles
或wp_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链接。这样,您就可以挂接到预览中,并使用内置颜色控制盘动态更改颜色,然后保存所需的颜色。
结束