繁体   English   中英

排除Wordpress帖子在特定类别的首页上显示

[英]Exclude Wordpress posts from being shown on homepage from a specific category

这是一个棘手的人...

如果帖子被标记为“类别A”,我希望将其从首页中排除。 这可以通过以下代码实现:

function exclude_category($query) 
{
    if ( $query->is_home() ) 
    {
        $query->set('cat', '-3804');
    }
    return $query;
}

add_filter('pre_get_posts', 'exclude_category');

但是,如果帖子被标记为“类别A”和“类别B”,我希望它显示在首页上。 如何调整我的代码以允许这样做?

嗨,您好!

function exclude_category($query) 
{
$categories = get_categories();
$catarray="";
foreach ($categories as $category) {
if ($category->cat_ID !="<your category ID>")
{
    $catarray .=$category->cat_ID.",";
}
    }
rtrim($catarray, ",");
if ( $query->is_home() ) 
{
    $query->set('cat', $catarray);
}

}
return $query;


add_filter('pre_get_posts', 'exclude_category');

您可能会想到这一点,但是如果某项仅在类别A中显示,则不会显示该内容与显示除类别A之外的所有其他类别的显示相同;

function exclude_category($query) 
{
    if ( $query->is_home() ) 
    {
        $query->set('cat', 'B,C,D,E,F');
    }
    return $query;
}

add_filter('pre_get_posts', 'exclude_category');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM