サポート » 使い方全般 » WP_Queryの引数の「post_status」と「perm」について

  • 管理者でログインした状態で、投稿の更新後フックである「wp_insert_post」のタイミングで、WP_Queryを以下のように記述し、他の一般ユーザが投稿した投稿を取得しようとしているのですが、管理者の投稿しか取得出来ず困っています。

    $args = array(
                                'post_type' => array(【カスタム投稿名】 )
                                ,'posts_per_page' => -1
                                ,'author' => $post_author  //投稿者id(管理者であれば'1')
                                ,'meta_query' => array(
                                            array(
                                                    'key' => '【カスタムフィールド名】'
                                                    ,'value' => 【値】
                                                    ,'compare' => '='
                                            )
                                    )
                                ,'post_status' => array('private')
                                ,'perm' => 'readable'
                        );
                        $posts = new WP_Query( $args );
    'post_status' => array('private')

    となっているように、非公開の投稿を取得しようとしています。

    非公開の場合、そもそも取得出来ないのか、投稿後のフックである「wp_insert_post」のタイミングでは投稿者が認識出来ていないから自分の投稿だけを取ってきているのか分からないです。
    それともコード自体間違えているのか・・・(管理者の投稿は取得出来ているため、違うとはお思うのですが・・・。)

    分かる方、ご解答よろしくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 yosuke0718

    (@yosuke0718)

    根本的な解決策かどうかは分からないのですが、
    authorパラメータを削除したら、取得することが出来ました。

    WP_Queryの他パラメータ同士の関係がよく分かりませんが、複数パラメータ指定によっては、
    適用されないパラメータもあるということでしょうか?

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「WP_Queryの引数の「post_status」と「perm」について」には新たに返信することはできません。