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程序员的技术瓶颈分析
Jul 17 PHP
pdo中使用参数化查询sql
Aug 11 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
PHP数组排序之sort、asort与ksort用法实例
Sep 08 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
php转换颜色为其反色的方法
Apr 27 PHP
利用“多说”制作留言板、评论系统
Jul 14 PHP
PHP学习笔记之php文件操作
Jun 03 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 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获取网络上文件
2006/10/09 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
Django小白教程之Django用户注册与登录
2016/04/22 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
如何使用python传入不确定个数参数
2020/02/18 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
社区平安建设汇报材料
2014/08/14 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS