WordPress 的日志循环结构 Loop

众所周知循环可以算得上是wordpress的主要核心之一,当你了解了循环的真正原理后,你就可以用它来循环出你想要的文章列表或是某一篇文章,你也可以让文章出现在任意你想要出现的地方!下面是wordpress 循环的基本结构,其实也不是很复杂~

在标准的php编程语言当中while就是如果指定的条件成立,则循环执行代码块,那么在wordpress中也是同样的原理。 if (have_posts()) : while (have_posts()) : the_post(); 大致意思是这样首先要确保如果有文章的情况下将执行the_post()函数,即wordpress内部的循环功能!如果have_posts() turns to false 的话 那么循环将终止!

下面我们把wordpress 主要的循环结构拿出来分析一下,这样大家就会有个清晰的认识!功能都标记好了!

wordpress-loop-introduction

 

下面是一个简单的总结,有三种方式来定义循环功能:

query_posts()

如果您使用的是单循环,只想定义某一篇文章或者某一类栏目的文章,使用query_posts()返回的类型。这是一种简单有效的循环方式~

WP_Query()

如果想拥有一个功能强大的,拥有可自定义的多种循环方式,那么你可以尝试使用WP_Query()。设立的其他实例的WP_Query()在你的主题模板,你可以创建任意数量的多个循环方式,并且可以自定义每个输出。

get_posts()

最后一个函数是使用简单的get_posts()函数,它可以在你的主题中轻松地创建任何其它循环。 get_posts()接受与query_posts()相同的参数,并添加自定义的循环,它可以出现在你的侧边栏,页脚,或其他任何地方,并使你的主题变得更加完美。

使用query_posts()函数自定义循环!

WordPress默认的循环通常看起来像这样:

这个循环后显示的信息取决于许多因素,包括请求的URL和相应的主题模板,用于生成页面。这里仅显示主题中默认的文章类别!但是当我们想在页面的某一个地方显示某一指定类别的文章,即排除其余的类别的话!使用query_posts()函数将会变得非常的简单。

假设我们只想除了cat标签等于9以外的文章类别时,我们可以这样写!

如果我们希望查询函数能够重置修改的话,我们可以尝试这样来定义!

有了上述自定义循环结构我就可以很容易的进行修改,例如我们可以对一些参数进行额外的限制!

这里我们添加了排除cat ID 等于7,8,9的文章类别,并且只显示3条记录!

强大的 WP_Query() 函数

在许多情况下,你可能想保留原来的查询,只调整某些参数。要做到这一点,可以使用WP_Query设置下面的循环结构:

提示:$custom_query = new WP_Query(‘showposts=10&paged=’.$paged);这里指定显示十篇文章,如果将showposts=-1的话将遍历出所有的文章。

另一个有实用的WP_Query()循环方法是可以指定循环出相应分类栏目标题中的文章!例如:

下面我们来看一下关于使用WP_Query()循环方法的一些简单的例子!

自定义循环get_posts()

如果你想在自己的主题中创建多个简单且安全的循环方式,那么你可以使用get_posts()你只需要的地方创建一个额外的,自循环,只需添加以下代码:

但是请注意,该get_posts需要一个数组作为参数时。可以参考以下格式:

这里限制文章数目使用的是’numberposts’=>3,而不是posts_per_page!

感谢伟大的原作者:http://www.wondercss.com/2013/wordpress/1777/