从头开始学Wordpress——1、日志数据显示

来源:互联网 发布:阅读器for mac 编辑:程序博客网 时间:2024/06/14 10:00

调用博客日志的主循环(The Lopp)是WordPress中最重要的PHP代码集,几乎所有的页面都会用到它。

主循环的结构如下:

<?php if (have_posts()) : ?>  <?php while (have_posts()) : the_post(); ?> <?php the_id();?><!-- 当前日志的ID --><?php the_title(); ?><!-- 当前日志的标题 --><?php the_title(); ?><!-- 当前日志的标题 --><?php the_category();?>    <!-- 当前日志的所在目录--><?php the_time();?><!-- 当前日志的发布时间 --><?php the_content() ;?><!-- 当前日志的内容 --><?php the_tags(''); ?><!-- 当前日志的标签 --><?php endwhile; ?><?php endif; ?>

我查了下,根据大牛们的解释,WordPress的have_posts() 默认是一个全局函数。have_posts函数被调用时实际上是调用全局变量$wp_query->have_posts()成员函数,来简单检查一个全局数组(array)变量$posts的一个循环计数器,以确认是否还有post,如果有返回true(1),如果没有返回false(0)。the_post()函数则调用$wp_query->the_post()成员函数前移循环计数器,并且创建一个全局变量$post(不是$posts),把当前的post的所有信息都填进这个$post变量中,以备接下来使用。


看了上面的解释,我觉得the_post()就像数据库查询中的游标,在默认情况下,它指在了日志数组的之前,没有对任何数组存在引用。调用一次the_post()后,该游标下移一次,指向了第一篇日志,从而可以获取到日志元数据。当再次调用the_post()时,游标继续下移,每次移动一篇日志,并取得相应的引用。以上面的代码为例,if(hava_posts())确认是否存在日志,如果有,则执行冒号之后的代码;在存在日志的情况下,进入循环,第一次显然存在,此时进入第二个冒号后面的代码;于是执行到了the_post(),这样,全局变量$post就被赋值为取得的第一篇日志的引用。接下来的几个函数就是日志元数据,它们的作用都是显示相关的信息,在代码中已经标识的很清楚了。


至于如何显示这些数据,其实完全可以靠CSS来修饰,将这些元素局当成文本即可。显然上面的循环可以取得所有日志的数据,一次循环即可显示所有的日志。只要设计的完美,一个令人侧目的博客迟早会引来大家的关注!

原创粉丝点击