私はWP_Query
またはpostオブジェクトを返す関数を持つ特定のページテンプレートを持つページだけをクエリしたいのですが、それについての情報は公式のcodexにはありません。
試してみてください...テンプレート名を 'my_template.php'とします。
$query = new WP_Query(
array(
'post_type' => 'page',
'meta_key' => '_wp_page_template',
'meta_value' => 'my_template.php'
)
);
//Down goes the loop...
また、 get_posts を使用したり、 query posts を変更して作業を完了させることもできます。これらの関数は両方とも WP_Query と同じパラメーターを使用します。
間違っている:ワードプレス3の時点であなたはに似た何かが必要です:
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'my_template.php'
)
)
);
ページテンプレートは、キー "_wp_page_template"を持つメタ値として格納されます。
そのため、必要なのはメタクエリパラメータでそのキーを使用することだけです。たとえば
および http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
誰かの試みが間違ってゼロ投稿になった場合、おそらくテンプレート名は間違っています。私はphpファイル名と私のテンプレート名を試してみましたが、うまくいきませんでした。それから、ページエディタでテンプレートを選択するテンプレート選択ボックスを調べることにしました。私はこれを見つけました:
<option value="templates-map/component-tutorial-1.php"
selected="selected">Tutorial -1</option>
私はtemplates-map/component-tutorial-1.php
を使いました、そしてそれは働きました。