WordPressのWP_Queryリクエストでテンプレート名を指定する

WordPressで条件を指定して記事や固定ページを取得する場合、WP_Query関数を利用してクエリーを組み立てます。

カテゴリー、タグ、スラッグ、IDでの絞込やソート順の指定など、いろいろな条件で記事を抽出することができます。

テンプレート名で条件指定

最近、テンプレート名を指定した記事の一覧を表示しようと思ったのですが、関数のパラメータに「テンプレート名」がありません。

WordPressでは、固定ページごとのテンプレートファル名がwp_postmetaテーブルに「_wp_page_template」という名前で格納されているため、meta_key, meta_valueの指定で取得できそうです。

早速やってみます。

$args = array('meta_key' => '_wp_page_template', 
'meta_value' => 'template_name.php', 
'post_type' => 'page', 
'orderby' => 'date');
$loop = new WP_Query($args);
if ($loop->have_posts()) : 
// 略

上記のコードで無事に取得出来ました。
以上、WordPressのWP_Queryでテンプレートファイル名で条件指定する方法でした。

では、また。

上部へスクロール