2012-07-23 55 views
-1

想知道是否有人可以帮助我。我一直在寻找答案的地方,似乎无法找到答案。需要帮助未定义偏移错误

我是一个新手在PHP和我很熟悉WordPress。我添加了三个新的布局默认twentyeleven主题。我设想这项工作的方式是,如果有人选择了特定的布局,会出现额外的侧边栏。所以,我想出了以下(是的,我知道这可能是不正确的,但我做到了我自己和它的作品......笑)

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

喜欢说的伟大工程,显示了ALT栏如果有任何这些选项在主题选项面板中选择。

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

Undefined offset: 1 on line 8

8号线是上面的代码中的第2行。

任何人都可以帮我删除这个错误。任何帮助非常感谢,并提前感谢您。

回答

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语句(if ('content' != $classes))正在检查单个字符串,我的例子中的第二个可能适合您的需求。

+0

非常感谢,你是对的,你的第二个答案完美无缺。我试图完成的是,如果在主题选项面板中选择了特定的布局,那么替代边栏将与常规边栏一起显示。再次非常感谢你。 – tsquez 2012-07-23 17:40:18

+0

真棒,很高兴我可以帮忙! – newfurniturey 2012-07-23 17:41:15