2

我正在开发一个 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>
4

1 回答 1

1

如果您使用 Javascript 来解析 LESS 或 SASS,您可以这样做。这是一个描述其工作原理的线程:Parse LESS client side。您将编写生成 LESS 的 PHP 代码,然后在客户端使用 javascript 对其进行解析。

这是一个关于如何使用 PHP 执行此操作的线程:如何使用 PHP 生成较浅/较深的颜色?

于 2013-01-05T05:14:14.190 回答