-1

想知道是否有人可以帮助我。我一直在到处寻找答案,但似乎找不到答案。

我是 PHP 的新手,我对 WordPress 非常熟悉。我在默认的 211 主题中添加了三个新布局。我设想这项工作的方式是,如果有人选择了特定的布局,则会出现一个额外的侧边栏。所以我想出了以下内容(是的,我知道这可能不正确,但我自己做了它并且它有效......哈哈)

            $options = themeawesome_get_theme_options();
            $classes = $options['three-column' || 'three-column-left' || 'three-column-right'];
            if ( 'content' != $classes ) {
            get_sidebar('alt');
            }

就像说它工作得很好,如果在主题选项面板中选择了这些选项中的任何一个,它就会显示 alt 侧边栏。

唯一的事情是我收到以下错误:

未定义的偏移量:第 8 行 1

第 8 行是上面的第二行代码。

谁能帮我消除这个错误。非常感谢您的任何帮助,并在此先感谢您。

4

1 回答 1

0

您不能在数组中使用多个索引,就像您尝试使用的那样:

$classes = $options['three-column' || 'three-column-left' || 'three-column-right'];

我不确定您要实现什么目标,因此对于如何解决它,我有多个答案。

首先,声明可用主题列表:

$themes = array('three-column', 'three-column-left', 'three-column-right');

如果你想要一个数组,$classes每个类,请尝试:

$classes = array();
foreach ($themes as $theme) {
    if (isset($options[$theme])) {
        $classes = $options[$theme]; 
    }
}

如果您想获得“第一个可用主题”,请尝试:

$classes = '';
foreach ($themes as $theme) {
    if (isset($options[$theme])) {
        $classes = $options[$theme];
        break;
    }
}

因为您遵循 if-statement ( if ('content' != $classes)) 正在检查单个字符串,所以我的第二个示例可能适合您的需要。

于 2012-07-23T14:47:17.993 回答