修改特定类别列表的循环输出

时间:2015-03-24 作者:javy

我试图修改归档页面上特定类别列表的循环输出。通常,此循环输出标题、作者、日期,并为给定类别中的每个帖子输出标题、作者、日期。

我有一个类别列表,我想在其中修改输出以包括图像。到目前为止,我已经通过使用如下if语句完成了这一点:

class new_loop extends theme_custom_loop {

 function modify_categories() {

  $cat1 = \'101\';
  $cat2 = \'201\';

  if (is_category($cat1)) {
    echo \'stuff\';
  }

  elseif (is_category($cat2)) {
    echo \'stuff\';
  }

  else theme_loop();

 }

}
现在我有一个大约40个类别的列表。我尝试将它们存储在一个数组中,并通过循环运行它们,但似乎不起作用。有什么建议吗?当前代码为:

class new_loop extends theme_custom_loop {

  function modify_categories() {

    $archive_categories = array(
         \'101\',
         \'201\'
     );

     foreach($archive_categories as $archive_category) {
        if (is_category($archive_category)) {
            echo \'stuff\';
        }

        else theme_loop();
     }
  }
}

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

你可以使用in_array() 具有get_queried_object_id():

if( is_category() && in_array( get_queried_object_id(), $archive_categories ) ){
    echo \'stuff\';
} else {
    theme_loop();
}

结束

相关推荐

Iterate through ID's in loop

我已经基于category创建了一个自定义循环,现在我想运行一个函数,将当前帖子的特定ID作为参数进行迭代。我有。。$secondary_loop = new WP_Query(array( \'category_name\' => get_the_title(), \'posts_per_page\' => 5 )); while ( $secondary_loop->have_posts() ) : $secondary_loop->the_post();&#x