更改网站颜色的用户界面-用户可以单独更改颜色(如菜单颜色、页脚颜色、内容颜色),或使用将更改所有颜色的配色方案(我预先定义的值)
问题
$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.
更容易做到?较好的更糟的我们该走哪条路?
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;