<?php query_posts("cat")?>,query_posts()函数

制作wordpress主题的时候经常会用到query_posts()函数,通过它可以实现各种特殊的要求,如获得特定的文章日志、排除某一分类等即query_posts() 函数可以用来控制在主循环(Loop)中显示特定的日志。可能很多人对主循环不太理解,那么就举个栗子吧:

首页、存档页的这些文章都是在主循环中的。在不使用query_posts()函数控制的情况,首页、存档页等都是按照文章的发布时间列出你博客上所有已发布的文章,而如果你想控制哪些文章可以显示,哪些文章不显示,文章按照什么样的方法排序等,那么你就要用到query_posts()函数了。

使用此函数要做的就是在index.php或者其他模板文件中查找if (have_posts())或while (have_posts()),在前面添加query_posts函数即可。不过以上方式可能会导致首页无法分页,可以将query_posts函数改成这样的行式,详细代码如下

$args = array(

'cat' => 1,

'category_name' => 'wpfunc'

);

$args = array_merge($args, $wp_query->query); //这一行代码是必须的,不然不能分页

query_posts($args);

if( have_posts() ){

while( have_posts() ){

//获取下一篇文章的信息,并且将信息存入全局变量 $post 中

the_post();

}

}?>

语法结构

<?php query_posts(‘cat=4′); ?> //只设置一个循环条件,显示类别ID为4的文章

'cat' => 1,

'category_name' => wpfunc

)

);

?>

//设置多个循环条件

参数

cat:根据ID显示类别,多个分类用英文逗号隔开,ID前加负号’-‘表示排除该分类

category_name:根据别名显示类别,输出属于某个类别名的文章

tag:显示与某个标签相关的文章,输出某个标签的文章

posts_per_page:显示的文章数目,-1这个值,会显示所有的文章

author_name:根据作者显示文章数目

showposts:显示的文章数量

order:按时间顺序显示文章,包括ASC 和DESC(默认)

post_type:根据文章形式来显示文章

实例

cat

用法:<?php query_posts(‘cat=4′); ?>

category_name

用法:<?php query_posts(‘category_name=wpfunc’); ?>

tag

用法:<?php query_posts(‘tag=wordpress’); ?>

获得拥有任何这样的标签的文章(可以是拥有一个标签也可以是多个标签同时拥有)

获取拥有这三个标签的文章

posts_per_page

author_name

orderby

orderby=author

orderby=date

orderby=category

orderby=title

orderby=modified

orderby=modified

orderby=menu_order

orderby=parent

orderby=ID

showposts

TIPS

使用该函数后,要以wp_reset_query()函数结束,wp_reset_query()函数详情请看wp_reset_query函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值