admin管理员组文章数量:1415644
I made a view templates for specific slugs
- page1-220 use page.php
- contact uses page-contact.php
- service uses page-service.php
Now I want to list the pages with their templates on a "overview" page with page-overview.php template... .
I tried this:
<?php $args = array(
'post_type' => 'page', /* or just 'post' */
'posts_per_page' => -1,
);
$the_query = new WP_Query( $args );
$i=1;
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<p>';
echo $i . '. ';
the_title();
echo ' - ';
echo get_page_template();
echo '</p>';
$i++;
}
wp_reset_postdata();
} ?>
get_page_template() allways returns the path to page-overview.php.
Wonder what I am missing here. I wonder if there is a way to get a list of ids, using the page.php template.
Many thanks in advance
I made a view templates for specific slugs
- page1-220 use page.php
- contact uses page-contact.php
- service uses page-service.php
Now I want to list the pages with their templates on a "overview" page with page-overview.php template... .
I tried this:
<?php $args = array(
'post_type' => 'page', /* or just 'post' */
'posts_per_page' => -1,
);
$the_query = new WP_Query( $args );
$i=1;
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<p>';
echo $i . '. ';
the_title();
echo ' - ';
echo get_page_template();
echo '</p>';
$i++;
}
wp_reset_postdata();
} ?>
get_page_template() allways returns the path to page-overview.php.
Wonder what I am missing here. I wonder if there is a way to get a list of ids, using the page.php template.
Many thanks in advance
Share Improve this question asked Aug 14, 2019 at 18:28 Friedrich SieverFriedrich Siever 2581 silver badge12 bronze badges 1- 1 get_page_template() returns the current page template. you need get_page_template_slug( $id ) to get the template of $id post. – idpokute Commented Aug 14, 2019 at 18:56
1 Answer
Reset to default 1I believe you need to use get_template_part
, but you need to request the get_page_template_slug
first.
So that would look like:
get_template_part( get_page_template_slug( get_the_ID() ) );
in lieu of
echo get_page_template();
And no need to echo it, it returns the template already printed.
本文标签: wp querylist pages using pagephp and NOT pageslugphp
版权声明:本文标题:wp query - list pages using page.php and NOT page-{slug}.php 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745241146a2649334.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论