wordpress中强大的调用文章函数query posts 用法

2019-02-19 17:13:37王振洲
query posts是一个非常好用的调用文章函数,可以做到同页面内显示多种特定范围的文章,例如可以调用某分类、标签、日期及作者等不同范围的文章列表。这些文章列表可以极大的丰富 wordpress 页面的内容,并有利于SEO。二手科学家整理了下query posts调用文章的函数,下面分别说明下。

首先是query posts 的一般写法。通常是如先定义查询再加入文章回圈程式码后再重置查询。


<?php
//定义要显示的文章范围查询
query_posts();
//文章回圈
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<!–这边是当判断符合时列出的文章清单,你可以用< ?php the_xxx(); >系列来显示相关的文章资讯–>
<?php
endwhile; else:
?>
<!–这边是显示抓无资料时要跑出来的错误讯息–>
<?php
endif;
//重置查询(这是为了避免之后的查询资料因为上面这段查询而混乱掉)
wp_reset_query();
?>

下面所有的函数都基于以上框架,只要在 query_posts(); 里输入相应的参数来显示出自己想要的文章范围即可。

1、Category Parameters(文章分类参数)

cat – 输入分类编号来显示出该分类内的文章

category_name – 输入分类名称来显示出该分类内的文章

category__and – 显示同时被列入多个分类的文章(限输入分类编号来识别)

category__in – 显示该分类内的文章,但不包括子分类内的文章(限输入分类编号来识别)

category__not_in – 除某分类内的文章,其他分类及子分类文章均显示(限输入分类编号来识别)


<?php
//仅显示分类编号为4的文章(包括子分类文章)
query_posts(‘cat=4′);
//仅显示分类名称为Codex的文章(包括子分类文章)
query_posts(‘category_name=Codex ‘);
//显示多个分类内的文章(包括各子分类文章)
query_posts(‘cat=2,6,17,38′);
//除了分类编号为3的文章(包括子分类文章),其他文章都显示
query_posts(‘cat=-3′);
//显示同时有分类编号为2及6的文章
query_posts(array(‘category__and’ => array(2,6)));
//显示分类编号为6的文章(但不包括子分类文章)
query_posts(array(‘category__in’ => array(6)));
//除了分类编号为2及6的文章,子分类及其他分类文章都显示
query_posts(array(‘category__not_in’ => array(2,6)));
?>

2、Tag Parameters(标签参数)

tag – 输入标签名称来显示含有该标签的文章

tag_id – 输入标签编号来显示含有该标签的文章