【发布时间】:2012-12-19 13:11:01
【问题描述】:
我正在开发一个 WordPress 主题,该主题在管理面板中使用颜色选择器,用户可以在其中选择自定义链接颜色。我希望链接悬停颜色与正常链接颜色相同,但变暗 10%。在 LESS 中,我可以使用链接颜色作为变量并使用@link-hover: darken(@link-color, 10%);,但是这与 PHP 颜色选择器无关。有没有办法让 PHP 引用 LESS 或 SASS 混合变量?或者也许其他一些解决方案可以获得我正在寻找的结果?
使用:PHP 5.4.4 / WordPress 3.5 / LESS 2.7.1
我的 WordPress“主题定制器”功能(来自 hal gatewood):
function stillcalm_customize_register( $wp_customize )
{
$colors = array();
$colors[] = array( 'slug'=>'content_bg_color', 'default' => '#ffffff', 'label' => __( 'Background Color', 'stillcalm' ) );
$colors[] = array( 'slug'=>'content_text_color', 'default' => '#000000', 'label' => __( 'Text Color', 'stillcalm' ) );
foreach($colors as $color)
{
// SETTINGS
$wp_customize->add_setting( $color['slug'], array( 'default' => $color['default'], 'type' => 'option', 'capability' => 'edit_theme_options' ));
// CONTROLS
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $color['slug'], array( 'label' => $color['label'], 'section' => 'colors', 'settings' => $color['slug'] )));
}
}
然后在标题中:
<?php
$text_color = get_option('text_color');
$background_color = get_option('background_color');
?>
<style>
body {
color: <?php echo $text_color; ?>;
background-color: <?php echo $background_color; ?>;
}
</style>
【问题讨论】:
-
只是为了确定。 LESS 和 SASS 是两个不同的东西。它们通常做同样的事情,但它们是不同的项目,具有不同的语法和不同的解析器。
-
我使用 LESS,但如果效果更好,我愿意切换到 SASS。但实际上我想要的只是使用变量,所以 Calle 建议的仅限 PHP 的解决方案工作得很好。
标签: php wordpress wordpress-theming less