サポート » 使い方全般 » wp_reset_postdata() が不要な理由

  • 解決済 notenotennoote

    (@notenotennoote)


    WP_Query()にはwp_reset_postdata()が必要と聞きました。

    WP_User_Query()にはそのような記述は不要なのでしょうか?
    wp_reset_userdata()のようなものが必要かと思ったのですが。

    不要ということでしたら、なぜ不要なのでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    wp_reset_postdata() は、投稿に関するグローバル変数($post, $id, $page, $pages 等)を復元する関数です。
    WP_Query のループ(the_post)は、グローバル変数の $post を変更するので、wp_reset_postdata() で $post を復元する必要があります。
    WP_User_Query は、投稿に関するグローバル変数を変更しないので、wp_reset_postdata() は不要となります。

    トピック投稿者 notenotennoote

    (@notenotennoote)

    こんにちは。いつもお世話になっております。
    WP_Queryというのは渡した引数を元にSQL文を生成し、その実行で取得される情報はthe_postでループし、そのとき$postを変更する、という処理だったんですね。まるでわかっておりませんでした。
    ご解説どうもありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「wp_reset_postdata() が不要な理由」には新たに返信することはできません。