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日历程序
Dec 06 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
深入php self与$this的详解
Jun 08 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
Jun 20 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 PHP
PHP中使用正则表达式提取中文实现笔记
Jan 20 PHP
thinkPHP学习笔记之安装配置篇
Mar 05 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
PHP获取数组最大值下标的方法
May 12 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 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+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
python 编程之twisted详解及简单实例
2017/01/28 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
python实现简单名片管理系统
2018/11/30 Python
Python中的asyncio代码详解
2019/06/10 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
室内设计实习自我鉴定
2013/09/25 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
实习介绍信范文
2015/05/05 职场文书
大学学生会辞职信
2015/05/13 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
入队仪式主持词
2015/07/04 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android