如何在给定类别的特定子类别下显示帖子

时间:2011-11-21 作者:Musta

在网上搜索了很长时间后,我决定将我的问题发布在这里,希望能找到解决这个问题的方法。嗯,我有一个不同类别的自定义帖子(小说、书籍、杂志等)这些类别中的每一个都有许多子类别(2002、2004、2005、2006等)出版年份。基本上,我需要的是仅基于所选类别的相关子类别显示筛选菜单。当用户单击子类别菜单项时,他将能够获得该特定类别下的所有帖子。

这是我迄今为止所做的,但我无法找出在给定类别中如何按子类别过滤。

        if (isset($_GET[\'cat\'])){
    $subcat = $_GET[\'cat\'];
    query_posts( \'posts_per_page=10&paged=\'.$paged.\'&post_type=publication&publication_category=\'.$maincat.**\'&category__in=\'**.$subcat );
        }else{
    query_posts( \'posts_per_page=10&paged=\'.$paged.\'&post_type=publication&publication_category=\'.$maincat );   
    }
我非常感谢任何能给我一点时间来解决这个问题的人。

1 个回复
SO网友:Tom J Nowell

这样做就足够了:

query_posts( \'posts_per_page=10&paged=\'.$paged.\'&post_type=publication&publication_category=\'.$subcat );
如果您查看原始代码,您可以通过查看您在参数中提出的问题来了解出错的原因:

我想在主要类别的职位,但在儿童类别

当您想要的是:

我想在儿童类别的职位

此外,确保使用术语ID而不是术语名称,因为它们更可靠。

Also a final note of crucial importance

你在检查cat, 但这是一个保留的WordPress名称,它将只保存类别ID,而不是publication\\u category ID。如果使用此GET变量传递任何内容,WordPress将相应地修改查询,假定其为类别。这是个坏消息。

因此,您可以重命名所使用的变量,或者使用代码所暗示的分类法归档。e、 g.示例。com/publication\\u category/maincegory/subcategory/并让WordPress为您完成所有这些。

结束