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输出缓存(output_buffering)的深入理解
Jun 13 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
PHP Try-catch 语句使用技巧
Feb 28 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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
网络资源
2006/10/09 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
php读取mysql的简单实例
2014/01/15 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
用cssText批量修改样式
2009/08/29 Javascript
Google 静态地图API实现代码
2010/11/19 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
2020/04/30 jQuery
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
python学生管理系统代码实现
2020/04/05 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
婚前财产公证书
2014/04/10 职场文书
电教室标语
2014/06/20 职场文书
师德师风自查总结
2014/10/14 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
毕业设计致谢词
2015/05/14 职场文书
员工福利申请报告
2015/05/15 职场文书
深入理解python协程
2021/06/15 Python