我想知道您是否打算注册一个无文件模板theme_page_templates
过滤方式如下:
/**
* Add a file-less page template to the page template dropdown
*/
add_filter( \'theme_page_templates\', function( $page_templates, $wp_theme, $post )
{
// Edit this to your needs
$fileless_theme_slug = \'my_fileless_page_template\';
$fileless_theme_label = esc_html__( \'My File-Less Page Template\', \'my-domain\' );
// Append if it doesn\'t already exists
if( ! isset( $page_templates[$fileless_theme_slug] ) )
$page_templates[$fileless_theme_slug] = $fileless_theme_label ;
return $page_templates;
}, PHP_INT_MAX, 3 );
在后端显示如下:
然后使用以下内容修改其输出:
/**
* OUtput for our file-less page template
*/
add_action( \'template_redirect\', function()
{
// Target pages with out custom template
if( is_page_template( \'my_fileless_page_template\' ) )
{
// Stop the default page template to be displayed
add_filter( \'template_include\', \'__return_null\', PHP_INT_MAX );
// Custom output
my_fileless_page_template_output();
}
}, PHP_INT_MAX );
这里我们定义
my_fileless_page_template_output()
根据我们的需要,例如包括主题的页眉和页脚、主查询循环甚至模板部分。我想可以跳过
exit
在最后。