WordPress中重置文章循环的rewind_posts()函数讲解


Posted in PHP onJanuary 11, 2016

有些时候,在索引页中(首页、分类文章、标签文章、作者文章索引……)提前进入 WordPress 文章循环中( Loop ),以获得一些我们想要获得的信息,但 WP 中,单一页面一般只会一次性跳入循环,也就是说,我们下次再从循环中汲取信息的时候,我们将获得循环中第二篇日志的信息,为了解决这一尴尬局面,WordPress 内置了一个函数,rewind_posts()函数专门用来重置循环指针。

Description 描述
Rewind the loop posts.
重置文章循环。

使用
该函数不接受变量。

<?php rewind_posts(); ?>

实例
在此引用 WordPress 默认主题 twenty eleven 中,author.php 文件 第15-55行,并予以简化。

<?php 
if ( have_posts() ) : the_post();//进入循环
  echo get_the_author() ; //显示文章作者,在循环外使用需指定作者ID
 rewind_posts();//重置循环
 while ( have_posts() ) : the_post(); //循环开始
   get_template_part( 'content', get_post_format() );

总结
有的时候,WordPress 有的函数必须进入循环才能使用,所以我们为了达到某些目的不得不提前进入循环,但如果我们在接下来的代码中在此用到循环,那循环会跳到第二篇的位置,所以我们不得不用到 rewind_posts() 来重置循环。twenty eleven 主题中只是给了一个很简单的例子,具体什么时候要用到还是要看主题作者的使用环境而言,也许有的时候我们要在一个页面中循环两次甚至更多次文章,那么改函数用处会更大。

PS:single_cat_title()函数
single_cat_title()函数,日常中我们很少会用到,但这个函数会给我们解决很多问题,诸如当前页面的目录、标签,该函数不依附于 WordPress 主循环中,也不能放入主循环中使用。

描述
获取当前页面的分类、标签。

<?php single_cat_title($prefix,$display); ?>
  • $prefix :用于设置在标题之前显示的内容。
  • $display :用于设置是直接显示还是返回到变量。

实例
在此摘取 WordPress 2011 默认主题中,category.php 文件 第18行左右位置的代码

<?php
printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?>
PHP 相关文章推荐
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
Mar 19 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP实现微信申请退款功能
Oct 01 PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 #PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 #PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 #PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 #PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 #PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 #PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 #PHP
You might like
PHP执行速率优化技巧小结
2008/03/15 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
PHP asXML()函数讲解
2019/02/03 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python多线程操作实例
2014/11/21 Python
Python实现竖排打印传单手机号码易撕条
2015/03/16 Python
Python操作mongodb的9个步骤
2018/06/04 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
Python3最长回文子串算法示例
2019/03/04 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
基于python实现复制文件并重命名
2020/09/16 Python
推荐10个CSS3 制作的创意下拉菜单效果
2014/02/11 HTML / CSS
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
火车来了教学反思
2014/02/11 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
家长会主持词
2014/03/26 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
出纳工作检讨书
2014/10/18 职场文书
小学少先队活动总结
2015/05/08 职场文书
食品安全主题班会
2015/08/13 职场文书
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL