从选项面板中的选择框选项输出结果

时间:2013-01-23 作者:chowwy

我想知道如何从选择框选项中获得结果,并将其应用到我的主题中。当我使用文本输入或颜色选择器时,效果很好。但当我使用选择框时,什么都没有改变。以下是选项:

$options[\'color_scheme\'] = array(
        \'name\' => __(\'Color Scheme\', \'text-domain\'),
        \'desc\' => __(\'Select a color scheme.\', \'text-domain\'),
        \'id\' => \'color_scheme\',
        \'std\' => \'blue\',
        \'type\' => \'select\',
        \'class\' => \'mini\',
        \'options\' => array(\'blue\', \'yellow\'));
下面的代码是我尝试根据选择输出特定选项的地方:

if ( of_get_option(\'color_scheme\') == "blue") {
                $output .= "#header {background:#000066;}\\n";
            }
    else if ( of_get_option(\'color_scheme\') == "yellow") {
                $output .= "#header {background:#FFFF66;}\\n";
            }

if ($output <> \'\') {
            $output = "<!-- Custom Styling -->\\n<style type=\\"text/css\\">\\n" . $output . "</style>\\n";
            echo $output;
        }

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

我使用相同的选项框架插件,这就是我使用该框架指定选择菜单的方式;

$test_array = array(
    \'one\' => __(\'One\', \'options_framework_theme\'),
    \'two\' => __(\'Two\', \'options_framework_theme\'),
    \'three\' => __(\'Three\', \'options_framework_theme\'),
    \'four\' => __(\'Four\', \'options_framework_theme\'),
    \'five\' => __(\'Five\', \'options_framework_theme\')
);

$options[] = array(
    \'name\' => __(\'Select a Tag\', \'options_check\'),
    \'desc\' => __(\'Passed an array of tags with term_id and term_name\', \'options_check\'),
    \'id\' => \'example_select_tags\',
    \'type\' => \'select\',
    \'options\' => $test_array);
请注意options 参数接受;

\'options\' => array(\'value\' => \'label\')
在您的实例中,您仅使用指定的标签;

\'options\' => array(\'blue\', \'yellow\')
这意味着蓝色的值为0 黄色的值为1.

因此,以下内容不正确,

if ( of_get_option(\'color_scheme\') == "blue") 
应该是这样的,

if ( of_get_option(\'color_scheme\') == 0) //0 for blue 1 for yellow
如果要使用蓝色或黄色的值名称进行检查,那么数组应该如下所示:,

\'options\' => array(
    \'blue\' => \'Blue\',
    \'yellow\' => \'Yellow\'
 )

结束