WordPress中的特色类别或特殊类别

时间:2020-12-22 作者:Andri Zainal Kari

有没有一种方法可以在WordPress的所有类别中显示一个类别?

例如,我的网站上的类别包括:

A类B类B1类B2类B3类我希望在B类及其子类中也显示A类中标记的帖子。所以当他们查看我的网站时。com/category/cat-b1他们还会找到cat A。

我真的不知道如何编码,但我总是可以按照步骤进行。

1 个回复
SO网友:cjbj

您可以使用pre_get_posts 过滤器,允许您在执行查询之前更改查询。通过这种方式,您可以将类别A添加到任何类别请求中。像这样:

add_filter (\'pre_get_posts\', \'wpse380282_add_cat_a\');
function wpse380282_add_cat_a ($query) {
  // do this only on the front end for the main query if it is a category archive
  if ( !is_admin() && $query->is_main_query() && is_category() ) {
    // get the ID for Cat A
    $cat_id = get_cat_ID (\'Cat A\');
    // get category of the query (returns an array of current categories)
    $cats = $query->get( \'cat\' );
    // add Cat A to the array of current categories
    $cats[] = $cat_id;
    // set the category query to the expanded array
    $query->set( \'cat\', $cats );
    }
  }