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集成FCK的函数代码
Sep 27 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
PHP url 加密解密函数代码
Aug 26 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
php按单词截取字符串的方法
Apr 07 PHP
使用PHP编写发红包程序
Jul 22 PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
php去除数组中为0的元素的实例分析
Nov 17 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和MySql中计算时间差的方法详解
2015/03/27 PHP
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
python 定时修改数据库的示例代码
2018/04/08 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
四个太阳教学反思
2014/02/01 职场文书
社区活动总结报告
2014/05/05 职场文书
安全生产大检查方案
2014/05/07 职场文书
支部鉴定材料
2014/06/02 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
手机被没收的检讨书
2014/10/04 职场文书
买卖合同协议书范本
2014/10/18 职场文书
建房合同协议书
2016/03/21 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
JavaScript实现栈结构详细过程
2021/12/06 Javascript
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL