ホームページ >バックエンド開発 >PHPチュートリアル >WordPressの投稿サイクルをリセットするrewind_posts関数の解説

WordPressの投稿サイクルをリセットするrewind_posts関数の解説

WBOY
WBOYオリジナル
2016-07-29 09:06:44939ブラウズ

インデックスページ(トップページ、カテゴリ記事、タグ付き記事、著者記事インデックス...)では、事前にWordPressの記事ループ(Loop)に入り、取得したい情報を取得することがありますが、WPでは、単一ページは通常、ループに入るのは 1 回だけです。つまり、次回ループから情報を取得するときに、ループ内の 2 番目のログの情報を取得します。この厄介な状況を解決するために、WordPress は実行します。には組み込み関数があり、rewind_posts () 関数は特にループ ポインターをリセットするために使用されます。

説明 説明
ループ投稿を巻き戻します。
投稿ループをリセットします。

使用
この関数は変数を受け入れません。

<&#63;php rewind_posts(); &#63;>


ここでは、WordPress のデフォルトテーマ 21 の author.php ファイルの 15 ~ 55 行目を引用し、簡略化しています。

<&#63;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 関数は使用する前にループに入らなければならないため、特定の目的を達成するには事前にループに入る必要がありますが、次のコードでループを使用すると、ループは2 番目のポストにジャンプするため、rewind_posts() を使用してループをリセットする必要があります。 Twenty eleven テーマは、非常に簡単な例を示しています。テーマ作成者の使用環境によって、ページ内で記事を 2 回以上循環する必要がある場合は、機能を変更する方が便利です。

追記: single_cat_title() 関数
single_cat_title() 関数、日常生活ではめったに使用しませんが、この関数は現在のページのディレクトリやタグなど、多くの問題を解決します。 WordPress のメインループであり、メインループでは使用できません。

説明
現在のページのカテゴリとタグを取得します。

 <&#63;php single_cat_title($prefix,$display); &#63;>

  • $prefix: タイトルの前に表示されるコンテンツを設定するために使用されます。
  • $display: 直接表示するか変数に返すかを設定するために使用します。


これは、WordPress 2011 のデフォルトテーマの category.php ファイルの 18 行目付近のコードの抜粋です

 <&#63;php
printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?>

上記では、WordPress の投稿サイクルをリセットする rewind_posts 関数を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。