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 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
与数据库连接
Oct 09 PHP
分享PHP入门的学习方法
Jan 02 PHP
怎样去阅读一份php源代码
Aug 21 PHP
Apache 配置详解(最好的APACHE配置教程)
Jul 04 PHP
php基础教程 php内置函数实例教程
Aug 21 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
codeigniter显示所有脚本执行时间的方法
Mar 21 PHP
PHP文件上传操作实例详解
Sep 27 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 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
快速配置PHPMyAdmin方法
2008/06/05 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
javascript URL锚点取值方法
2009/02/25 Javascript
js event事件的传递与冒泡处理
2009/12/06 Javascript
JS 对象介绍
2010/01/20 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
python实现探测socket和web服务示例
2014/03/28 Python
Python类的专用方法实例分析
2015/01/09 Python
给Python入门者的一些编程建议
2015/06/15 Python
Python实现LRU算法的2种方法
2015/06/24 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
保洁主管岗位职责
2013/11/20 职场文书
幼儿园安全责任书
2014/04/14 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server