特定のテンプレート名のページをどのようにループできるかを知りたいのですが。管理者がSALE
というテンプレート名を選択できるページがいくつかあります。ループを介してこのテンプレート名を持つすべてのコンテンツを表示したいです。
任意のアイデアは大歓迎です!
Wordpressは、dbの特定のページに割り当てられているページテンプレートをwp_postmeta
テーブルに保存します。
これらは以下のように保存されます。
'meta_key' => '_wp_page_template',
'meta_value' => 'NAME_ OF_TEMPLATE'
これを念頭に置いて、get_pages
(を使用して、特定のページテンプレートを共有するページをループすることもできます。WP_Query
も使用できます。
例:
$pages = get_pages(array(
'meta_key' => '_wp_page_template',
'meta_value' => 'page-special.php'
));
foreach($pages as $page){
echo $page->ID.'<br />';
echo apply_filters( 'the_content', $page->post_content );
}
たとえば、テンプレートの名前がsale.phpの場合はget_template_part
を使用できます。
get_template_part( 'sale' );
http://codex.wordpress.org/Function_Reference/get_template_part