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 相关文章推荐
在任意字符集下正常显示网页的方法一
Apr 01 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
基于session_unset与session_destroy的区别详解
Jun 03 PHP
一组PHP加密解密函数分享
Jun 05 PHP
javascript some()函数用法详解
Nov 13 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 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类
2006/11/27 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
js实现div层缓慢收缩与展开的方法
2015/05/11 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
使用Python生成XML的方法实例
2017/03/21 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
Python下载网络小说实例代码
2018/02/03 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
python2.7的flask框架之引用js&amp;css等静态文件的实现方法
2019/08/22 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
基于python 取余问题(%)详解
2020/06/03 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
法律专业推荐信范文
2013/11/29 职场文书
毕业生求职信
2014/06/10 职场文书
运动会演讲稿100字
2014/08/25 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
2015年物资管理工作总结
2015/05/20 职场文书