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 相关文章推荐
给多个地址发邮件的类
Oct 09 PHP
PHP生成静态页
Nov 25 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 PHP
php创建桌面快捷方式实现方法
Dec 31 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
PHP基于curl模拟post提交json数据示例
Jun 22 PHP
laravel model 两表联查示例
Oct 24 PHP
Centos7安装swoole扩展操作示例
Mar 26 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
德生9700DX电路分析
2021/03/02 无线电
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
node 利用进程通信实现Cluster共享内存
2017/10/27 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
js实现缓动动画
2020/11/25 Javascript
深入解析Python中的urllib2模块
2015/11/13 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
python实现视频压缩功能
2020/12/18 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
网络安全方面的面试题
2015/11/04 面试题
会计与审计专业自荐信范文
2014/03/15 职场文书
2014年心理健康教育工作总结
2014/12/06 职场文书
外国人来华邀请函
2015/01/31 职场文书
小爸爸观后感
2015/06/15 职场文书
详解Redis集群搭建的三种方式
2021/05/31 Redis