in_the_loop()


関数in_the_loop()は、WordPressのループ内で現在の投稿がループ中であるかどうかをチェックするために使用されます。この関数は、テンプレートファイルやプラグインでループ内の処理を制御する際に役立ちます。

構文

in_the_loop();
  • bool — 現在の投稿がループ内にある場合はtrue、そうでない場合はfalseを返します。

例1: ループ内での条件分岐

ループ内で特定の処理を行うかどうかを判断するためにin_the_loop()を使用します。

<?php if ( in_the_loop() ) { echo '現在ループ内です。'; } ?>

例2: カスタムクエリ内での使用

カスタムクエリを使用している場合に、メインループとカスタムループを区別するためにin_the_loop()を利用します。

<?php $custom_query = new WP_Query( array( 'post_type' => 'post' ) ); while ( $custom_query->have_posts() ) : $custom_query->the_post(); if ( in_the_loop() ) { the_title(); } endwhile; wp_reset_postdata(); ?>

例3: ループ外での処理のスキップ

ループ外での不要な処理をスキップするためにin_the_loop()を使用します。

<?php if ( ! in_the_loop() ) { return; } ?>

例4: ウィジェット内での使用

ウィジェット内でループ処理を行っているかどうかを確認するためにin_the_loop()を使用します。

<?php if ( in_the_loop() ) { echo 'ウィジェット内のループ処理中です。'; } ?>

例5: 複数のループ処理の制御

複数のループを扱う際に、どのループが現在処理中かを確認するためにin_the_loop()を使用します。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); if ( in_the_loop() ) { the_content(); } endwhile; endif; ?>

注意点

  • in_the_loop()は、メインループだけでなく、カスタムクエリやウィジェット内のループでも使用できます。
  • ループ外でこの関数を使用すると、常にfalseを返します。

関連機能: