get_postsでページが取れない?

get_postsで投稿データを引っ張ることはよくやっているが、パラメータにpage_id=1とかpagename=xxxなどと
やっても何も出てこないので焦った。

原因が不明で、納得が行かないのだが、そのget_posts()が内部で使っているであろう、WP_Queryを使うと上手く行く。

$query = new WP_Query( ‘page_id=2’ );
echo $query->posts[0]->post_content;

という書式になり、気軽に使いズライ。やはりget_postsの方が良い。

それにしても、何故効かない?ユーザは合ってるし、ステータスは問題ないし・・・

後で分かった。
まず、get_postsとWP_Queryのパラメータは一緒のようだ。

紛らわしいところでは、
cat=(id)
category_name=カテゴリースラッグ
p=(投稿id)
name=(投稿スラッグ)
page_id=(固定ページID)
pagename=(固定ページスラッグ)

特にpagenameはアンダーバーは入らないところが引っかかる。困ったものだ。

また、ページのタイトルで検索する事は不可能なようだ。
その場合、wpdbを使ってオリジナルのルーチンを組むしか無いようだ。

コメント

タイトルとURLをコピーしました