try:
<?php $page_id = $wp_query->get_queried_object_id();
echo get_post_meta( $page_id, '_wp_page_template', true ); ?>
(extracted from:
http://phpxref.ftwr.co.uk/wordpress/wp-includes/post-template.php.source.html#l350
lines 426 and 441)
Are you sure about this?
I can’t echoing anything from this function…I’m using WP 3.0.1
Please take a look at the bottom of the page between
http://www.levantenews.it
this is the code:
<div id=”credits”>
<div id=”ftnav”><span class=”rss”>” title=”<?php _e(‘Subscribe to RSS’); ?>” rel=”nofollow”><?php _e(‘<abbr title=”Subscribe to RSS”>RSS</abbr>’); ?></span></div>
<small>Copyright © <?php echo date(“Y”); ?> <?php bloginfo(‘name’); ?> All rights reserved.
[<?php echo get_num_queries(); ?> query – <?php timer_stop(1); ?> secondi]</small>.
[[
<?php $page_id = $wp_query->get_queried_object_id();
echo get_post_meta( $page_id, ‘_wp_page_template’, true ); ?>
]]
<?php wp_footer(); ?>
</div></div>
it will only show if you are on a page or page template, as in
http://codex.wordpress.org/Pages#Page_Templates
(a ‘normal’ page will show ‘default’)
it does not show the template file names, such as index.php, category.pgp, or so.
click on ‘cerca’ for instance – it will show ‘searchpage.php’ at the bottom.
(if it is just for debugging, you could simply add
<?php body_class(); ?>
after the other code or instead – that would also give you some information about what templates are getting used)
Ok, I thank you very much, as I can understand
_wp_page_template is not used for post or archive pages
this is a good point of start for me, but I’ll continue to search a (simple) trick to show the real template page used by WP.
WordPress uses a variable $template to store the template being used. Therefore, for debugging (not recommended for a live site), you can put this in your theme’s functions.php:
add_action('wp_head', 'show_template');
function show_template() {
global $template;
print_r($template);
}