nat*_*iah 5 wordpress wordpress-theming
我在"foo.php"中有一个名为"Foo"的模板,我希望能够选择使用该模板的所有页面.我已经搜索了一段时间,但一直没能找到一个成功的方法来做到这一点......有人可以通过正确/唯一的方式来启发我吗?
小智 8
机器人的回答很好,但我想我应该澄清一些事情。
首先,您应该使用您创建的查询的变量,因此它将是 $query->have_posts() 等。
其次,您应该指定 post_type。我使用了any,这样它就会拉出除修订之外的任何帖子类型。
最后,如果这是在具有任何其他 WP 循环的页面中,您可能需要使用 wp_reset_query。我在下面添加了一个,在上面添加了一个,以防万一,但只有当上面或下面有另一个循环时,你才真正需要这个。如果不这样做,请将其删除。
这是代码:
wp_reset_query();
$query = new WP_Query( array(
'post_type' => 'any',
'meta_key' => '_wp_page_template',
'meta_value' => 'foo.php'
) );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) : $query->the_post(); // WP loop
the_title();
endwhile; // end of the loop.
} else { // in case there are no pages with this template
echo 'No Pages with this template';
}
wp_reset_query();
Run Code Online (Sandbox Code Playgroud)
希望对某人有帮助!快乐编码!
您可以使用以下代码获得此信息
$query = new WP_Query( array( 'meta_key' => '_wp_page_template', 'meta_value' => 'foo.php' ) );
if ( have_posts() ) while ( have_posts() ) : the_post();
<?php the_title(); ?>
<?php endwhile; // end of the loop. ?>
Run Code Online (Sandbox Code Playgroud)
小智 5
这也有效
$pages = get_pages(
array(
'meta_key' => '_wp_page_template',
'meta_value' => 'template.php'
)
);
foreach($pages as $page){
echo $page->post_title.'<br />';
}
Run Code Online (Sandbox Code Playgroud)
http://jorgepedret.com/old/web-development/get-pages-by-template-name-in-wordpress/
| 归档时间: |
|
| 查看次数: |
8034 次 |
| 最近记录: |