_An addition (more sweet code) to other answers here._ ## Template Name To just get the current **page template** name, use the following line. is_page() AND print get_page_template_slug( get_queried_object_id() ); ## File Name When you just want to echo the **current template file name**, go with the following <?php ! defined( 'ABSPATH' ) AND exit; /** Plugin Name: Get Template file name */ function wpse10537_get_template_name( $file ) { static $name; if ( 'template_include' === current_filter() ) { $name = basename( $file ); return $file; } // Return static var on echo call outside of filter if ( current_user_can( 'manage_options' ) AND defined( 'WP_DEBUG' ) AND WP_DEBUG ) return print $name; } add_action( 'template_include', 'wpse10537_get_template_name' ); <sup>_This plugin can run as MU-Plugin._</sup> You can then simply call `wpse10537_get_template_name()` at any point (in for example a theme template). This avoids cluttering the global namespace.