基于自定义分类的条件逻辑

时间:2014-12-11 作者:DavidBrown

我正在一个大型网站上工作,我需要在侧边栏中创建不同页面的各种列表。我使用名为“Page Categories”(Page\\u category)的Pods插件注册了一个自定义分类法,并使用WP\\u查询成功生成了所需的页面列表。到目前为止,一切顺利。

我陷入困境的地方:这些列表中的每一个都包含在一个模板部分中,需要有条件地包含在提要栏中。php基于当前页面类别的值。

我所拥有的不起作用的东西:

    <?php
      $display = wp_get_post_terms($post->ID, \'page_category\', 
      array(\'fields\'=>\'slug\'));

      switch($display){
         case \'dining-area-1\':
           get_template_part(\'sidebar\', \'dining-one\');
           break;
         case \'dining-area-2\':
           get_template_part(\'sidebar\', \'dining-two\');
           break;
       }
     ?>
这样做的结果是,无论页面是否与该类别关联,第一种情况都会在每个页面上生效。

有什么想法吗?

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

@米洛完全正确。。。问题是我没有得到要比较的字符串。解决方案实际上来自here.

在我的场景中,这最终是什么样子的:

    <?php
        if(has_term(\'dining-1\', \'page_category\', $post->ID)){
          get_template_part(\'sidebar\', \'dining-one\');
        }
        elseif(has_term(\'dining-2\', \'page_category\', $post->ID)){
          //etc.
        }
    ?>

结束

相关推荐