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使用者状态管理功能的应用
Oct 09 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
php中使用Imagick实现图像直方图的实现代码
Aug 30 PHP
如何用C语言编写PHP扩展的详解
Jun 13 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
php伪静态之APACHE篇
Jun 02 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
PHP处理postfix邮件内容的方法
Jun 16 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
PHP CURL中传递cookie的方法步骤
May 09 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 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数组内存耗用太多问题的解决方法
2010/04/05 PHP
禁止你的左键复制实用技巧
2013/01/04 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
django框架cookie和session用法实例详解
2019/12/10 Python
python支持多线程的爬虫实例
2019/12/21 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
行政专员岗位职责说明书
2014/09/01 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
全陪导游词
2015/02/04 职场文书
护士个人年度总结范文
2015/02/13 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
学生会主席任命书
2015/09/21 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript