1

这是我的目标:
特别是在标签/存档页面上:我想为页面上显示的每个类别显示不同的侧边栏。

我现在所做的:我有三个类别,“绘画”、“摄影”和“对象”。显示标签页面时,我想检查它是否有任何来自“绘画”类别的帖子,如果有,我希望它显示动态侧边栏“绘画侧边栏”。摄影 -> 摄影侧边栏和对象 -> object_sidebar .

这部分我已经完成了。

当标签/存档页面包含来自多个类别的帖子时,我的问题就出现了。例如,来自“绘画”类别的帖子和来自“摄影”类别的帖子。在这种情况下,我希望显示“paintings_sidebar”和“photography_sidebar”。

就像现在一样,侧边栏中仅显示最新帖子类别的侧边栏。

我究竟做错了什么?:(

这是我的一点代码:

if (is_archive()) {
  if (in_category( 'paintings' )) {
    dynamic_sidebar( 'paintings-sidebar' ); 
  }     
  if (in_category( 'photography' )) {
    dynamic_sidebar( 'photography-sidebar' ); 
  } 
  if (in_category( 'objects' )) {
    dynamic_sidebar( 'objects-sidebar' ); 
  }
4

1 回答 1

0

您将需要使用 elseif:

if (is_archive()) {
  if (in_category( 'paintings' )) {
    dynamic_sidebar( 'paintings-sidebar' ); 
  }     
  elseif (in_category( 'photography' )) {
    dynamic_sidebar( 'photography-sidebar' ); 
  } 
  elseif (in_category( 'objects' )) {
    dynamic_sidebar( 'objects-sidebar' ); 
  }
于 2013-07-01T15:15:23.957 回答