我可以使用主题选项一次更改两项内容吗?

时间:2011-01-22 作者:snthr

可能的noob问题——请友好点。

我正在使用Themeshaper, 我想要的一个选项是设置侧边栏的宽度。

为了使用我已有的CSS做到这一点,我需要在HTML中的两个位置更改类属性(一个用于主列宽,一个用于侧栏)。

Themeshaper代码可以添加一些小的主题选项调整,但我不知道如何获得一个选项来同时修改代码中的两个位置。

可能(希望如此!)一个简单的问题,但超出了我目前的能力。

非常感谢您的帮助。谢谢

Update:

我应该澄清一下,我不是一个程序员,我已经超出了我的能力范围。也就是说,这就是我想要的。。。在我的主题选项页面中,我想有一个下拉菜单,其中有两个选项:“宽侧栏”和“窄侧栏”。其中一个将是默认值。更改默认值需要修改两个CSS类。我很欣赏Rarst下面的回答,但我对PHP的了解还不够,无法让它正常工作。对于如何做到这一点,有没有简单的(r)解释?再次抱歉,如果这是基本的东西。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

没有什么可以阻止您在多个位置检索您的选项。你可以做几个get_option() 调用或创建全局变量,并为其赋值一次。

如果不知道您在选项中究竟存储了什么以及要为标记生成哪些类,就很难给出具体的示例。

Update

完成它的方法之一。根据组织代码的方式,可能需要将变量声明为global :

$options = get_option(\'sample_theme_options\');
$sidebar_width = $options[\'sidebar_width\']; // let\'s say we have stored integer \'2\' here
$column_width = 8 - $sidebar_width; // total width minus sidebar

// and then in template
echo "<div class=\'main-{$column_width}col\'> main </div>";
echo "<div class=\'sidebar-{$sidebar_width}col\'> sidebar </div>";

结束