1、在下面的代码中,is_page('custom-page')检查当前页面是否是自定义页面,如果是,则加载插件目录下的templates/template-custom.php文件。
注意:is_page()函数的参数应该是自定义页面的slug或ID。
add_filter( 'page_template', 'custom_template' );
function custom_template( $template ) {
if ( is_page( 'custom-page' ) ) {
$template = plugin_dir_path( __FILE__ ) . 'templates/template-custom.php';
}
return $template;
}
2、WordPress插件可以使用 theme_page_templates 钩子来自动加载页面模板。
- 在插件目录中创建一个名为`templates`的文件夹,并在其中创建一个名为`custom-template.php`的模板文件。
- 在插件主文件中添加以下代码:
function custom_template_init() {
add_filter( 'theme_page_templates', 'custom_template' );
}
function custom_template( $templates ) {
$templates['custom-template.php'] = 'Custom Template';
return $templates;
}
add_action( 'plugins_loaded', 'custom_template_init' );
这个代码段将注册一个名为“Custom Template”的页面模板,并将其链接到`custom-template.php`模板文件。
- 在插件中使用以下代码来加载页面模板:
function load_custom_template( $template ) {
global $post;
if ( ! $post ) {
return $template;
}
if ( 'custom-template.php' == get_post_meta( $post->ID, '_wp_page_template', true ) ) {
$template = plugin_dir_path( __FILE__ ) . 'templates/custom-template.php';
}
return $template;
}
add_filter( 'template_include', 'load_custom_template' );
这个代码段将检查当前页面是否使用了“Custom Template”页面模板,如果是,则加载插件目录中的`custom-template.php`模板文件。 现在,当使用“Custom Template”页面模板时,插件将自动加载`custom-template.php`模板文件。
这个表情可以的呀!!