在Wordpress中显示某些类别

如果您想通过将类别划分为多个部分或根本不显示某些类别来以新的或有趣的方式显示Wordpress主页,则可以使用该query_posts()功能。此功能是Wordpress的一部分,可让您覆盖在后台执行的查询。这基本上控制了“循环”可以看到哪些帖子。为了使函数起作用,必须在“循环”之前调用它,请注意以下行(或类似内容):

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

并在此query_posts()之前拨打电话。您将需要为其指定某些参数才能执行某些操作。

那么,您可以使用此功能做什么呢?各种各样的东西,但是对于这篇文章,我们只是想了解不同的类别,所以让我们集中精力。

关于参数,该函数采用以下参数。请注意,最后三个有一个双下划线。

  • 分类名称

  • 类别__和

  • 类别__in

  • 类别__not_in

您可以做的最基本的操作是使用参数cat传递类别ID 。以下代码将获得类别3中的那些帖子。

query_posts("cat=3");

您也可以通过向类别ID添加-来获取其他信息,从而获得除该类别以外的所有内容。

query_posts("cat=-3");

您可以使用逗号传递多个类别ID。以下代码将获得类别2、3和8。

query_posts("cat=2,3,8");

排除类别可以用相同的方式完成。

query_posts("cat=-2,-3,-8");

使用类别ID可能会有些混乱,但是幸运的是,您也可以传递类别名称。请注意,您不能以这种方式包括多个类别,因此仅当您希望显示一个类别时,这才有用。

query_posts("category_name=Wordpress");

要显示出现在多个类别中的帖子,可以使用category__and参数。此处的代码将显示出现在类别3,类别8和类别9中的帖子。您可以在此列表中添加任意数量的帖子。

query_posts(array("category__and" => array(2,8,9)));

category__in参数作品在刚刚同样的方式与使用逗号分隔的列表参数,它是做同样的事情只是用不同的方式。以下代码将获取类别1、2和3中的帖子。

query_posts(array("category__in" => array(1,2,3)));

category__not_in参数工作从相反的方向category__in参数。以下代码将获得不在类别5和6中的帖子。

query_posts(array("category__not_in" => array(5,6)));

也可以更改打印文章的顺序。默认值是根据发布日期以降序打印文章。要更改此设置,您只需添加参数顺序,然后添加ASC,以使帖子按升序排序。

query_posts("cat=-3&order=ASC");

您可以使用DESC参数自变量来显式设置降序。

query_posts("cat=-3&order=DESC");

自己尝试几种组合。query_posts()第二次调用该函数也可能具有不同的部分,只是请记住,您需要另一个循环才能打印出帖子。为了简化操作,您可以将循环分成一个单独的文件(我称为mine post.php),并将其包含在以下代码段中。

<?php include (TEMPLATEPATH . "/post.php"); ?>

然后,你可以写query_posts(),include(),query_posts(),include(),query_posts(),include()。