将配色方案与拾色器一起使用

时间:2013-03-09 作者:Lucas Bustamante

更改网站颜色的用户界面-用户可以单独更改颜色(如菜单颜色、页脚颜色、内容颜色),或使用将更改所有颜色的配色方案(我预先定义的值)

问题

$color\\u菜单、$color\\u页脚和$color\\u内容已经单独出现

我现在需要设置color\\u方案,我尝试了这个,但没有成功:

<?php $color_menu = get_option(\'color_menu\');  ?>
<?php $color_footer = get_option(\'color_footer \');  ?>
<?php $color_content = get_option(\'color_content \');  ?>

    <?php
    if ( get_option( $color_scheme ) == \'blue\' ) {
        update_option( $color_menu, \'#0D5E84\' );
        update_option( $color_footer, \'#1461A2\' );
        update_option( $color_content, \'#132C3F\' );
    } elseif ( get_option( $color_scheme ) == \'yellow\' ) {
        update_option( $color_menu, \'#CCCC00\' );
        update_option( $color_footer, \'#FFFF33\' );
        update_option( $color_content, \'#FFFFCC\' );
    } elseif ( get_option( $color_scheme ) == \'red\' ) {
        update_option( $color_menu, \'#CC0000\' );
        update_option( $color_footer, \'#FF0000\' );
        update_option( $color_content, \'#CC0033\' );
    } else {
        update_option( $color_menu, \'#252525\' );
        update_option( $color_footer, \'#252525\' );
        update_option( $color_content, \'#FFFFFF\' );
    }
    ?>
图片:http://i.stack.imgur.com/Ktm7h.png

额外问题

在使用配色方案时,能够更改单个颜色。

假设我选择了黄色配色方案,但希望将菜单颜色设置得更暗,如果可能的话,我应该能够在使用黄色配色方案时对其进行更改

另一种观点

一位与我一起工作的朋友想到了针对同一问题的不同解决方案,他将其发布在堆栈溢出上,maybe you would like to see his question.

更容易做到?较好的更糟的我们该走哪条路?

1 个回复
SO网友:Milo

不要将所有选项都保存为单个选项,而是将所有选项保存为单个键下的数组。只需一个查询即可加载并保存它,然后在php中执行所有操作即可。

结构和输出示例:

$colors = array(
    \'current_scheme\' => \'user_scheme\',
    \'preset_schemes\' => array(
        \'red\' => array(
            \'menu\' => \'#CC0000\',
            \'footer\' => \'#FF0000\',
            \'content\' => \'#CC0033\'
        )
    ),
    \'user_scheme\' => array(
        \'menu\' => \'red\',
        \'footer\' => \'red\',
        \'content\' => \'#132C3F\' // override with custom color
    )
);
update_option( \'prefix_theme_options\', $colors );

foreach( $colors[\'user_scheme\'] as $location => $value ):
    echo $location . \': \';
    if( array_key_exists( $value, $colors[\'preset_schemes\'] ) ):
        echo $colors[\'preset_schemes\'][$value][$location];
    else:
        echo $colors[\'user_scheme\'][$location];
    endif;
    echo \'<br>\';
endforeach;

结束

相关推荐

如何通过引用登录的用户名来调用特定文件(通过php)?

我想设置一个页面,为属于特殊创建的用户角色(“map\\u user”)的每个网站注册用户显示不同的内容。因此,例如,如果属于“map\\u user”类别的站点用户登录到该站点,则会自动将其转发到特定页面。然后,此页面引用其用户名,根据该用户名调用特定的外部内容(html),并将其包含在页面中。我已经通过插件和功能的组合解决了第一个问题(根据用户角色转发用户)。但我正在努力完成第二部分,一旦他们到达目标页面。我已经为页面创建了一个模板,并在其中包含了以下php:<?php if ( is_arra