web-dev-qa-db-ja.com

特定のテンプレートを含むページをループする

特定のテンプレート名のページをどのようにループできるかを知りたいのですが。管理者がSALEというテンプレート名を選択できるページがいくつかあります。ループを介してこのテンプレート名を持つすべてのコンテンツを表示したいです。

任意のアイデアは大歓迎です!

1
user49869

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 );
}
2
Pieter Goosen

たとえば、テンプレートの名前がsale.phpの場合はget_template_partを使用できます。

get_template_part( 'sale' );  

http://codex.wordpress.org/Function_Reference/get_template_part

0
Wyck