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 相关文章推荐
MVC模式的PHP实现
Oct 09 PHP
PHP安装攻略:常见问题解答(一)
Oct 09 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
Sep 23 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
May 08 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 PHP
PHP工厂模式的日常使用
Mar 20 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
php实现socket推送技术的示例
2017/12/20 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
Node.JS利用PhantomJs抓取网页入门教程
2017/05/19 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
python编程开发之类型转换convert实例分析
2015/11/13 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
python类共享变量操作
2020/09/03 Python
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
旅游管理毕业生自荐书
2014/02/02 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
辩护词格式
2015/05/22 职场文书
《静夜思》教学反思
2016/02/17 职场文书
详解 TypeScript 枚举类型
2021/11/02 Javascript
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python