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 相关文章推荐
PHP的类 功能齐全的发送邮件类
Oct 09 PHP
模仿OSO的论坛(四)
Oct 09 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 PHP
PHP的autoload机制的实现解析
Sep 15 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 PHP
stripos函数知识点实例分享
Feb 11 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
使用laravel指定日志文件记录任意日志
Oct 17 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 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
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
php简单实现数组分页的方法
2016/04/30 PHP
PHP中的表达式简述
2016/05/29 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
ext for eclipse插件安装方法
2008/04/27 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
Python完全新手教程
2007/02/08 Python
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
Python发展简史 Python来历
2019/05/14 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
python开头的coding设置方法
2019/08/08 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
如何把python项目部署到linux服务器
2020/08/26 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
请解释在new与override的区别
2012/10/29 面试题
经理聘任证明
2015/03/02 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书