ホームページ >バックエンド開発 >PHPチュートリアル >WordPressの投稿サイクルをリセットするrewind_posts関数の解説
インデックスページ(トップページ、カテゴリ記事、タグ付き記事、著者記事インデックス...)では、事前にWordPressの記事ループ(Loop)に入り、取得したい情報を取得することがありますが、WPでは、単一ページは通常、ループに入るのは 1 回だけです。つまり、次回ループから情報を取得するときに、ループ内の 2 番目のログの情報を取得します。この厄介な状況を解決するために、WordPress は実行します。には組み込み関数があり、rewind_posts () 関数は特にループ ポインターをリセットするために使用されます。
説明 説明
ループ投稿を巻き戻します。
投稿ループをリセットします。
使用
この関数は変数を受け入れません。
<?php rewind_posts(); ?>
例
ここでは、WordPress のデフォルトテーマ 21 の 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 関数は使用する前にループに入らなければならないため、特定の目的を達成するには事前にループに入る必要がありますが、次のコードでループを使用すると、ループは2 番目のポストにジャンプするため、rewind_posts() を使用してループをリセットする必要があります。 Twenty eleven テーマは、非常に簡単な例を示しています。テーマ作成者の使用環境によって、ページ内で記事を 2 回以上循環する必要がある場合は、機能を変更する方が便利です。
追記: single_cat_title() 関数
single_cat_title() 関数、日常生活ではめったに使用しませんが、この関数は現在のページのディレクトリやタグなど、多くの問題を解決します。 WordPress のメインループであり、メインループでは使用できません。
説明
現在のページのカテゴリとタグを取得します。
<?php single_cat_title($prefix,$display); ?>
例
これは、WordPress 2011 のデフォルトテーマの category.php ファイルの 18 行目付近のコードの抜粋です
<?php printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' ); ?>
上記では、WordPress の投稿サイクルをリセットする rewind_posts 関数を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。