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 相关文章推荐
多数据表共用一个页的新闻发布
Oct 09 PHP
聊天室php&amp;mysql(五)
Oct 09 PHP
相对路径转化成绝对路径
Apr 10 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
php文件读取方法实例分析
Jun 20 PHP
PHP实现多文件上传的方法
Jul 08 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
php PDO属性设置与操作方法分析
Dec 27 PHP
PHP getName()函数讲解
Feb 03 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
event.srcElement+表格应用
2006/08/29 Javascript
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
webpack4.0 入门实践教程
2018/10/08 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
vue.js封装switch开关组件的操作
2020/10/26 Javascript
python遍历目录的方法小结
2016/04/28 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
人力资源管理毕业生自荐信
2013/11/21 职场文书
工地标语大全
2014/06/18 职场文书
2014年绿化工作总结
2014/12/09 职场文书
实习证明模板
2015/06/16 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android