グローバルオブジェクト$postをリセットしてメインクエリの現在の記事に戻します。サブクエリによって上書きされたグローバルオブジェクトをメインクエリに戻すときに使われます。
wp_reset_postdata();なし。
グローバルオブジェクト$postをメインクエリの現在の記事に戻します。
【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。
【引数について】
下記コードはサブクエリのループを抜けたあと(while文の終了後)、グローバルオブジェクト$postをリセットしてメインクエリの現在の記事に戻しています。リセットしなかった場合、グローバルオブジェクト$postがサブクエリのままのため、その後のプログラム実行内容に影響を与える可能性があります。
<?php
$args = [
'post_type' => 'post',
'posts_per_page' => 5,
];
$the_query = new WP_Query($args); // サブクエリを発行
?>
<?php if ($the_query->have_posts()): ?>
<?php while ($the_query->have_posts()): // サブクエリループ ?>
<?php $the_query->the_post(); ?>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
<?php endwhile; ?>
<?php wp_reset_postdata(); // $postをメインクエリに戻す ?>
<?php else: ?>
<!-- 投稿が無い場合の内容 -->
<?php endif; ?>※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。