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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
input file获得文件根目录简单实现
Apr 26 PHP
PHP array_multisort() 函数的深入解析
Jun 20 PHP
PHP CURL获取返回值的方法
May 04 PHP
php数据访问之增删改查操作
May 09 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
PHP设计模式之组合模式定义与应用示例
Feb 01 PHP
phpcmsv9.0任意文件上传漏洞解析
Oct 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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
Python re模块介绍
2014/11/30 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
Python iter()函数用法实例分析
2018/03/17 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
html5弹跳球示例代码
2013/07/23 HTML / CSS
打架检讨书50字
2014/01/11 职场文书
校运会新闻稿
2015/07/17 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫