wordpress函数query_posts,实现wordpress改变文章的显示方式

 2016年7月25日 |  0 条评论 |   906

query_posts()是最简单的,但不是首选或最有效率,主要用来改变文章的显示方式。改变主查询,使WordPress用来显示文章。它通过把主查询放到一边,并替换为一个新的查询。在query_posts后需要清理,用wp_reset_query(),使原来的主查询恢复。

基本结构(无法分页)

<?php query_posts( $args ); ?>
<?php while ( have_posts() ) : the_post(); ?>
...
<?php endwhile; ?>
<?php wp_reset_query(); ?>

query_posts函数添加在主循环前,如果后面还有循环函数,需要在循环结束后增加<?php wp_reset_query(); ?>来重置query

控制分类文章

<?php query_posts( "cat=1,5,6" ); ?>

只显示分类ID为1,5,6的文章,要排除分类ID为3和5的文章只需在分类ID前增加1个减号<?php query_posts( ‘cat=-3,-5′ ); ?>

显示特定文章

<?php query_posts( "p=2" ); ?>

只显示ID为2的文章

使用query_posts控制文章数量

<?php query_posts( "posts_per_page=5" ); ?>

显示最多5篇文章

使用query_posts控制文章排序方式

 <?php query_posts( "orderby=value" ); ?>

详见 orderby参数说明

多参数结构(支持分页)

<?php
$paged = (get_query_var("paged")) ? get_query_var("paged") : 1;
$args = array(
"orderby" => "rand",
"paged" => $paged
);
query_posts($args);
?>

把参数写在’paged’ => $paged上面就可以了,上例中只写了一个文章排序方式为随机的参数,’orderby’ => ‘rand’,每个参数结束后用半角逗号来结束

使用query_posts控制显示哪些分类,TAG标签或特定的文章

 "category__in" => array( 1, 3)

只显示分类ID为1和3的文章,如果需要排除分类ID为2和4的文章则用’category__not_in’ => array(2, 4),

要显示某个分类区间的文章,’category__in’ => range(3, 6),显示分类ID3到6的文章。

同理,需要控制显示哪些TAG标签的文章,只需要将该参数的category改为tag,如’tag__in’ => array( 5, 8),只显示标签ID为5和8的文章。

将参数的category改为post则能控制显示哪些ID的文章,’post__in’ => array(2,4,6),只显示ID为2,4,6的文章,如果只想显示置顶文章,则将array(2,4,6)改成get_option(‘sticky_posts’)

使用query_posts控制文章数量

"showposts" => 5 或 "posts_per_page" => 5

显示最多5篇文章,如果把5改成-1,则显示所有文章

使用query_posts控制显示指定自定义字段的文章

"meta_key" => "sort",
"orderby" => "meta_value_num",

只显示自定义字段为sort的文章,且按照sort值的大小来排序,值填写数字就可以按照数字从大到小的顺序排序了,从而可以自由的排序文章。

在分类页中使用query_posts函数

 "category__in" => array(get_query_var("cat"))

如果是在分类页中使用,需要调用当前分类的ID,那么直接在array的括号内填写

get_query_var("cat")

但是如果该分类有子分类,使用上面的方法并不会显示子分类的文章,想要显示所有子分类的文章就把上面的代码替换为

"cat" => get_query_var("cat")

文章字数统计:1645 | 百度已收录

  |  pc蛋蛋幸运28群/WordPress  


微部落博客编辑整理发布,如有侵犯您的版权,请提供相关版权证明,博主将立即删除。
·博客大全  博客网址之家  博客导航  来路IP首页展示!   ·免费收录  ·免费推广你的博客   114.vprol.com
如果本文对您有用就 打个赏吧微信 OR 支付宝 扫描二维码
pay_weixin     pay_weixin
金额随意,您的支持是我的动力~

草根站长,博客导航,博客大全,博客网站,增加网站流量
回复 取消

欢迎评论发言,灌水及广告评论将被定期删除!