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 相关文章推荐
PHP4在Windows2000下的安装
Oct 09 PHP
php字符串截取问题
Nov 28 PHP
php 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
php header Content-Type类型小结
Jul 03 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
Sep 10 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
php批量删除操作(数据访问)
May 23 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PDO::prepare讲解
Jan 29 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 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
星际实力自我测试
2020/03/04 星际争霸
CodeIgniter框架URL路由总结
2014/09/03 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python 深入理解yield
2008/09/06 Python
python爬取m3u8连接的视频
2018/02/28 Python
Python如何重新加载模块
2020/07/29 Python
python如何设置静态变量
2020/09/07 Python
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
司机职责范本
2014/03/08 职场文书
家长对老师的感言
2014/03/11 职场文书
中国好声音广告词
2014/03/18 职场文书
地球一小时宣传标语
2014/06/24 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
逃课检讨书
2015/01/26 职场文书
英文慰问信
2015/02/14 职场文书