WordPress 主题教程 #5:主循环

2011/11/04

调用博客日志的主循环(The Loop)是 WordPress 中最重要的 PHP 代码集,简直一切的页面都会用到它。这也是从零开端创立 WordPress 主题系列教程的第五篇。

在开端继续学习之前,我们先温习下到目前为止学到了什么?

到目前为止,我们曾经学到::

•规则,术语和 WordPress 主题的层式构造
•每个页面有哪些局部组成
•如何装置你的主题
•如何调用博客的标题和把它做成一个链接
•如何调用博客的描绘和如何把 header 和其他局部分开
如今让我们开端第五篇:主循环(The Loop)

翻开 Xampp,“tutorial”主题文件夹,阅读器,并且在阅读器中转到 http://localhost/wordpress,最后翻开 index.php 文件。

下面应该是这时分 index.php 文件中的内容:

记住,为了学习这些代码,请尽量手工输入而不是拷贝和粘贴。

第1步:创立 container Div
在 header DIV 标签下添加一个 DIV 标签,并给它的 ID 赋值为 “container”,如下:

“container” 这个 DIV 标签是用把博客的主要内容和其他东西都辨别开,比方 sidebar 和 footer 等。

第2步:输入主循环代码
在 Container 的 DIV 标签中添加如下代码:

<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

<?php endwhile; ?>

<?php endif; ?>

这段代码就是 WordPress 中的主循环(The Loop)。在细致解释这些代码作用之前,我们来看下如今 index.php 所包含的代码:


你可能曾经留意到Container DIV 中的每一行都被缩进了,这是为了更好的组织代码,愈加利于阅读(运用 tab 健而不是空格键停止代码缩进,)。

方才发作了什么?

•if(have_posts()) – 检查博客能否有日志。
•while(have_posts()) – 假如有日志,那么当博客有日志的时分,执行下面 the_post() 这个函数。
•the_post() – 调用详细的日志来显现。
•endwhile; – 遵照规则 #1,这里用于关闭 while()
•endif; – 关闭 if()
•注释:并不是一切的代码都需求两局部用来翻开和关闭。有些代码可以自我关闭,这就解释了 have_posts() 和 the_post(); 这两个函数。由于 the_post(); 在 if() 和 while() 的外面,只需求分号去完毕或者关闭。
第3步:调用日志标题
在前面的课程中,我们学习了运用 bloginfo(‘name’) 去调用博客的标题。如今我们将学习在主循环(The Loop)中如何调用日志标题。

在 the_post(); ?> 的后面和 <?php endwhile; ?> 的前面输入 <?php the_title(); ?>

保管 index.php 文件并刷新阅读器,这时分应该看到在博客描绘的下方呈现 Hello World ,默许装置 WordPress 之后,博客只要一篇日志。而我的测试的博客有多篇日志,所以这里有多个日志标题,而且由于我所用的日志标题是一样的,我也没有停止组织整理他们,所以它们看起来像很长的一行 Hello World。

第4步:给日志标题加上链接
把日志标题转变成日志标题链接。还记得怎样吧博客的标题转变成一个链接的?

在<?php the_title(); ?> 两边增加

保管并刷新你的阅读器。如今日志的标题都变成了链接了,但是它们并没有指向哪里。为了使得每个标题都能指向正确的日志,我们需求把 # 交换为 the_permalink()。

<a href=”<?php the_permalink(); ?>“><?php the_title(); ?>

the_permalink() 是用来调用每篇日志地址的 PHP 函数。保管并刷新阅读器。

假如只要一个 Hello World 标题,把鼠标移到链接上面,察看你的阅读器底部的状态栏,他不再是 http://localhost/wordpress/#。

假如有不止一个的标题链接,我们将看到每个链接会链到不同的日志或者网页。但是我们的日志标题仍然在同一行上面。为了分开它们,在日志标题链接代码的两边添加

标签。

<a href=”<?php the_permalink(); ?>”><?php the_title(); ?>

记住 H1 用作你的博客的标题,那是网页的标题。H2 被用作子标题。如今你的日志标题链接是子标题了,每一个都是一行。保管 index.php 文件并刷新阅读器,结果如下:

WordPress 主循环就引见到这里,如今 index.php 文件内容应该是:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注