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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
PHP页面间参数传递的四种方法详解
Jun 09 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
解析php入库和出库
Jun 25 PHP
php数据类型判断函数有哪些
Sep 23 PHP
PHP连接SQLServer2005方法及代码
Dec 26 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
CI框架实现框架前后端分离的方法详解
Dec 30 PHP
Laravel框架下载,安装及路由操作图文详解
Dec 04 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
windows xp下安装pear
2006/12/02 PHP
PHP工厂模式的日常使用
2019/03/20 PHP
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
vuejs如何配置less
2017/04/25 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Python实现Event回调机制的方法
2019/02/13 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
优秀高中生事迹材料
2014/02/11 职场文书
单位承诺书格式
2014/05/21 职场文书
机械专业求职信范文
2014/07/15 职场文书
归元寺导游词
2015/02/06 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
MySQL创建管理KEY分区
2022/04/13 MySQL