将query_posts()放在LOOP之前限定你所需要的条件,wp_query会产生一个新的使用你的参数的SQL查询,而忽视通过URL接收到的其它的参数,如果想不忽略,可以在调用中使用$query_string。
将query_posts()放在LOOP之前限定你所需要的条件,wp_query会产生一个新的使用你的参数的SQL查询,而忽视通过URL接收到的其它的参数,如果想不忽略,可以在调用中使用$query_string。
query_posts($query_string . \"&order=ASC\")
设置WordPress文章显示的顺序,但是不干扰其余的查询字符串,参数前须有“&”符号
其他还有N多用途~~
- 主页不显示某一分类下的日志
<?php if (is_home()) { query_posts(\"cat=-3\"); } ?>
- 获得特定的日志
<?php query_posts(\'p=5\'); ?>
- 获得特定的页面
<?php query_posts(\'page_id=7\'); //只返回网页7 ?>
<?php query_posts(\'pagename=about\'); //只返回关于网页 ?>
<?php query_posts(\'pagename=parent/child\'); // 返回母网页的子网页 ?>
- 创建所有文章列表,并且提供分页功能
<?php query_posts($query_string.\'posts_per_page=-1\'); while(have_posts()) { the_post(); put your loop here ; } ?>
类别 参数
显示属于某个类别的文章
- cat
- category_name
根据ID显示一个类别
只显示来自一个类别ID的文章
query_posts(\'cat=4\');
根据名称显示一个类别
只显示属于某个类别名的文章
query_posts(\'category_name=Staff Home\');
显示几个类别及ID
显示属于几个类别ID的文章
query_posts(\'cat=2,6,17,38\');
删除某个类别的文章
显示所有的文章,但是类别ID前面有个’-’(负号)负号的类被除外。
query_posts(\'cat=-3\');
删除属于类别3的所有文章。有一个限制性条款:会删除只属于类别3的所有文章。如果一个类别也同时属于其它的类别,这个类别仍然不会被删除。
标签参数
显示与某个标签相关的文章
- tag
为某个标签提取文章
query_posts(\'tag=cooking\');
获得拥有任何这样的标签的文章
query_posts(\'tag=bread,baking\');
获取拥有这三个标签的文章
query_posts(\'tag=bread+baking+recipe\');
作者参数
你也可以根据作者限制文章数目
- author_name=Harriet
- author=3
author_name在 user_nicename区操作, 同时作者 在作者id上操作。
文章 & 网页参数
返回一篇单独的文章或者一个单独的网页
- p=1 – 使用文章 ID来显示第一篇文章
- name=first-post – 使用 post Slug 显示第一篇文章
- page_id=7
- pagename=about
- showposts=1 (你可以使用 showposts=3,或者其它的任何数字显示一定数目的文章)
由于 模板层级方面的原因, home.php先执行了。这意味这你可以编写一个home.php,home.phh调用query_posts()重新得到一个特别的网页并且将那个 网页设置为你的首页。没有任何插件或者hacks,你需要运行一个机制,并且显示和维护一个非博客的首页。
更有用的方法,可能是利用WP的网页功能并且为你的首页使用这个功能。你可以将”关于网页”设置为entry point或者设置为站点的末页。你可能执行一些更动态的步骤,设置一个自定义网页,显示最近的评论,文章,类别,存档。请看看下面的例子。
时间参数
得到某个特别的时间段内发表的文章
- hour=
- minute=
- second=
- day= – 一个月中的每一天; 显示,例如,十五号发表的所有文章。
- monthnum=
- year=
网页参数
- paged=2 -显示使用”以前发表的文章”链接时,通常在网页2上显示的文章。
- posts_per_page=10 -每个网页显示的文章数目;-1这个值,会显示所有的文章。
- order=ASC -按时间顺序显示文章,以相反的顺序显示DESC(默认)
Offset 参数
你不能转移或者忽视一个或者更多的原始文章,这些文章一般是你的query同时使用offset参数收集到的。
下面的函数会显示(1)最近的5篇文章
query_posts(\'showposts=5&offset=1\');
根据参数排序
根据这个区给得到的文章排序
- orderby=author
- orderby=date
- orderby=category
- orderby=title
- orderby=modified
- orderby=modified
- orderby=menu_order
- orderby=parent
- orderby=ID
- orderby=rand
同时考虑”ASC”或者的”DESC”的排序参数
联合参数
你可能从上面的例子中注意到,你使用一个&(&符号)将参数组合在一起,像:
query_posts(\'cat=3&year=2004\');
类别13,关于当前月份显示在主页上的文章:
if (is_home()) { query_posts ($query_string . \'&cat=13&monthnum=\' . date(\'n\',current_time(\'timestamp\'))); }
在2.3版本中,这个参数组合会返回属于类别1同时属于类别3的文章,只显示两篇(2)文章,根据标题,按降序排列:
query_posts(array(\'category__and\'=>array(1,3),\'showposts\'=>2,\'orderby\'=>title,\'order\'=>DESC));
在2.3和2.5版本中,你可能期待下面的内容,返回属于类别1并且标签为”苹果”的所有文章
query_posts(\'cat=1&tag=apples\');
一个bug阻止这个运行。请看看Ticket #5433,一个工作区要搜索几个使用+的标签
query_posts(\'cat=1&tag=apples+apples\');
对于先前的查询,这个会产生期待的结果。注意使用’cat=1&tag=apples+oranges’能够产生期待的结果。
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容