`
baiyuxiong
  • 浏览: 179288 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

【转载】wordpress源码分析: query_posts()函数 (wordpress日志调用)

    博客分类:
  • php
阅读更多
http://www.codedesign.cn/?p=252

将query_posts()放在LOOP之前限定你所需要的条件,wp_query会产生一个新的使用你的参数的SQL查询,而忽视通过URL接收到的其它的参数,如果想不忽略,可以在调用中使用$query_string。

query_posts($query_string . "&order=ASC")

设置文章显示的顺序,但是不干扰其余的查询字符串,参数前须有“&”符号

其他还有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’能够产生期待的结果。
分享到:
评论

相关推荐

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

    在WordPress中,`query_posts()` 是一个非常重要的函数,它允许开发者在页面内灵活地调用和展示特定条件下的文章。这个函数可以帮助我们创建自定义的循环,展示来自不同分类、标签、日期或其他条件的文章列表,从而...

    Wordpress调用函数大全

    WordPress 调用函数大全 WordPress 是一个功能强大且广泛使用的内容管理系统,具有非常多的函数调用方法。在本文中,我们将对 WordPress 中的一些常用的函数调用方法进行汇总,旨在帮助大家更好地掌握 WordPress ...

    在WordPress中使用wp_count_posts函数来统计文章数量

    在WordPress中,`wp_count_posts()` 是一个非常实用的内置函数,它允许开发者轻松地统计网站上不同类型的内容,包括文章(post)和页面(page)。这个函数对于创建自定义统计报告,或者在主题模板中显示内容计数非常...

    wordpress常用标签调用代码大全

    综上所述,WordPress提供了丰富的函数和标签供用户在模板中调用,使得用户可以自由地设计和定制自己的网站布局和功能。通过合理使用这些代码,用户可以实现网站内容的动态展示、文章分类、搜索、留言以及个性化设置...

    wordpress相关文章实现代码

    此方法利用WordPress的`wp_get_post_tags`函数获取当前文章的全部标签,然后通过`query_posts`函数查询与这些标签相关联的文章。关键代码如下: ```php $query_args = array( 'tag__in' =&gt; array($post_tag), '...

    wordpress调用函数大全[参考].pdf

    此外,WordPress还提供了许多其他模板标签和函数,如自定义URL结构`/%postname%/`,以及`the_search_query()`用于显示当前的搜索查询等。这些函数和标签构成了WordPress模板系统的基础,使得开发者能够灵活地控制...

    wordpress主循环代码

    在WordPress中,主循环(Main Loop)是网站内容呈现的核心机制。它负责遍历数据库中的文章,根据不同的页面类型和查询参数,展示适当的内容。在WordPress主题开发中,理解和掌握主循环的工作原理至关重要,因为这...

    wordpress调用特定文章列表的技巧分享

    首先,调用网站的最新文章是通过`query_posts()`函数来完成的。这个函数允许我们对主查询进行自定义,从而获取不同的文章列表。以下是一个调用最近10篇文章的示例: ```php query_posts('showposts=10&orderby=new...

    wordpress获取置顶文章列表的方法

    总结来说,获取WordPress中的置顶文章列表主要涉及`query_posts`函数的使用,通过设置适当的参数如`post__in`和`caller_get_posts`,可以有效地获取并显示这些文章。在实际应用中,你可能还需要根据具体需求调整其他...

    WORDPRESS总结的一些有用的知识

    while ($query_posts-&gt;have_posts()) { $query_posts-&gt;the_post(); ?&gt; &lt;li&gt;&lt;a href="&lt;?php the_permalink(); ?&gt;" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt; wp_reset_query(); ?&gt; ``` 这段...

    wordpress随机调用显示文章的方法总结

    方法一:使用WordPress内置函数get_posts()进行随机调用 get_posts()是WordPress提供的一个内置函数,能够帮助我们快速获取文章列表。通过设置参数'orderby'为'rand',我们可以让WordPress按照随机顺序排列文章。...

    WordPress高级教程

    - **功能**:使用`query_posts()`函数显示特定条件下的文章。 - **示例**:`query_posts(array('cat' =&gt; 5, 'posts_per_page' =&gt; 10));`将显示分类ID为5的最新10篇文章。 #### 五、总结 以上是WordPress高级教程...

    WordPress无插件调用最新、热门、随机文章实例代码

    ($query_posts-&gt;have_posts()) : $query_posts-&gt;the_post(); ?&gt; &lt;li&gt;&lt;a href="&lt;?php the_permalink(); ?&gt;" rel="bookmark" title="&lt;?php the_title_attribute(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt; ; ?&gt; ``` ...

    WordPress创建搜索页面.pdf

    WordPress提供了内置的搜索功能,可以通过`get_search_form()`函数轻松调用。将这段代码放在你需要显示搜索框的任何位置,例如在侧边栏或页眉区域: ```php &lt;?php get_search_form(); ?&gt; ``` 这段代码将生成一...

    WordPress增加文章排序方式

    根据用户的排序选择,我们设置不同的排序参数,然后将这些参数合并到WordPress查询中,最后使用query_posts函数来改变当前的查询。 在query_posts之前,我们使用global $wp_query语句声明,这样我们就可以访问并...

    wordpress高级教程

    - 使用`query_posts()`函数可以定制文章查询,例如按特定分类、作者或关键词筛选文章。 - 结合`pre_get_posts`动作钩子,可以在不修改默认查询的情况下,动态地调整查询参数。 - `get_posts()`函数可以获取一组文章...

    wordpress页面显示指定分类文章的方法

    本篇文章将详细介绍如何实现这一功能,主要涉及对WordPress模板的自定义和使用`query_posts`函数进行查询。 首先,我们需要创建一个新的页面模板。这个模板将专门用于显示指定分类的文章。打开你的WordPress主题...

    详解WordPress中用于合成数组的wp_parse_args()函数

    在 WordPress 开发中,它被广泛应用于那些需要接受复杂参数的函数,例如 `query_posts()`, `wp_list_comments()`, `get_terms()` 等。下面我们将深入探讨 `wp_parse_args()` 的工作原理、用法以及相关示例。 ### ...

    基于PHP的wordpress清新简洁主题模板php版v1.1源码.zip

    2. **查询和循环**:PHP帮助处理数据库查询,如`WP_Query`或`get_posts`,用于获取和遍历文章。 3. **函数和钩子**:PHP通过函数(如`add_action`和`add_filter`)实现钩子系统,允许开发者在特定时刻插入自定义代码...

Global site tag (gtag.js) - Google Analytics