私はinit
で初期化されるカスタムプラグインを書いています。このプラグインは、すでにDBに格納されているいくつかのカスタム投稿タイプを照会しようとしています。
これが私のコードです:
$args = array()
$myposts = get_posts( $args );
print_r($myposts);
どんな引数を$ args配列に渡しても、何も得られません。例えば:
$args = array( 'post_type' => 'page' );
さて、私がget_pages()
と全く同じ引数を使用すると私は混乱しますが結果が得られます。
たぶんこれはWP Queryが初期化されるときに何か関係がありますか?
それは単純な問題だったようです。 get_posts() にはさまざまなデフォルト設定がありますが、そのうちの1つはpost_status
がpublic
に設定され、post_status
を使用しないカスタム投稿タイプはデフォルト値のdraft
を使用するというものです。
これを修正するには、投稿ステータスで照会するか(以下のコードを参照)、またはDB内のデータを変更します。
$args = array(
'post_status' => 'draft',
'post_type' => 'your_custom_post_type'
);