首页 学建网站 query_posts函数...

query_posts函数技术篇

作者:

修改日期:

query_posts函数很强大,但这里小川写来只是为了加深一下自己的记忆,当然如果你也感兴趣,也可以作为技术参考;
query_posts函数的强大不是一两句话所能涵盖的,技术文档可以去参照wordpress函数使用的官方文档:query_posts函数使用官方文档
下面的几个也是从函数文档里面摘录出来的,只是为了留个记号! 🙂
query_posts函数使用一:控制主循环页面文章的显示数量;
一般我们在首页或是在归档页都会使用下面的一句循环代码调用文章列表:

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>
这里是放文章内容的地方……
<?php endwhile; ?>

<?php else : ?>

<?php endif; ?>

如果你制作过wordpress主题,这句代码你一定不陌生,而这句代码有一个缺点,就是不能单独控制页面中文章的显示数量,如果在后台设置》阅读里面设置,会导致所有的页面都显示相同数量的文章,这个对于那些想美化首页或是归档页的童鞋们,是难以忍受的,这个时候query_posts函数就能很轻松的为您控制文章数量的单独显示。
具体怎么做?跟我往下看;
使用方法:
只需要在以上那段循环代码上面放上下面的一段代码即可:

<?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
$args = array(
// 控制只显示10篇文章,如果将10改成-1将显示所有文章
‘showposts’ => 10,
‘paged’ => $paged
);
query_posts($args); ?>

里面只需要你修改一处,就是文章的显示数目,就OK了;
query_posts函数使用二:只显示目标分类目录文章
这个在wordpress主题制作中是很实用的,比如我们有时候想在首页只显示ID为1和3分类目录下面的文章,就可以用query_posts函数很轻松的实现效果;
使用方法:
还是在主循环上面加上一句query_posts函数代码,代码如下:

<?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
$args = array(
// 以下代码中的1、3就是对应分类目录的ID
‘post__in’   => array(1,3),
‘paged’ => $paged
);
query_posts($args); ?>

还有呢,如果是想排除这两个ID下面的文章,也是可以的,只需要把代码中的post__in修改为post__not_in即可.
query_posts函数使用三:控制主循环页面文章显示方式;
你可以控制页面中文中的显示方式,例如可以让文章按标题、按日期、修改时间、ID、随机等方式显示,非常给力哦!
使用方法:
主循环下面填写以下代码:

<?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
$args = array(
// 以下代码中的title就是orderby的值,按标题排序
‘orderby’   => title,
‘paged’ => $paged
);
query_posts($args); ?>

解释下,这句的意思是说让文章按文章标题的方式显示,你可以把里面的’orderby’   => title,这句代码换成下面的任何一种,从而达到不同的显示效果;

title:按标题
date:按发布日期
modified:按修改时间
ID:按文章ID
rand:随机排序
comment_count:按评论数

o了,其他还在探索中……