Answers:
尝试一下...假设模板名称为“ 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...
错误:从wordpress 3开始,您需要执行以下操作:
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'my_template.php'
)
)
);
post_type
。否则,您不需要meta_query
单个定制键/值对的数组。
meta_key
和meta_value
或与普通数组,其中可能包括多个条件,
页面模板通过键“ _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
,效果很好。
如果模板在另一个文件夹中:
$args = array(
'post_type' => 'page', //it is a Page right?
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'page-templates/template-name.php', // folder + template name as stored in the dB
)
)
);