程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> WordPress中重置文章循環的rewind_posts()函數講解

WordPress中重置文章循環的rewind_posts()函數講解

編輯:PHP綜合

有些時候,在索引頁中(首頁、分類文章、標簽文章、作者文章索引……)提前進入 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>' );
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved