Зарегистрировать шаблон страницы из плагина
Я пытаюсь понять, как правильно зарегистрировать шаблон страницы (и все связанные с ним ресурсы, такие как CSS и изображения) из плагина. В принципе, я создал целевую страницу, которую я хочу разместить за пределами темы, чтобы я мог использовать ее на нескольких веб-сайтах.
Мой код был следующим:
add_filter( 'page_template', 'custom_page_template' );
function custom_page_template( $page_template )
{
$page_template = dirname( __FILE__ ) . '/custom-page-template.php';
return $page_template;
}
Но я не вижу шаблона страницы в WordPress.
1
1 answers
Вы неправильно понимаете, что делает page_template
. Он не создает новый шаблон, который вы "покажете" где-нибудь и который вы можете использовать. Он заменяет шаблон page.php
, предоставленный темой.
Я думаю, что то, чего ты хочешь, это template_redirect
:
function custom_page_template( $page_template ) {
if (is_home()) {
get_header();
echo 'do stuff';
get_footer();
}
}
add_filter( 'template_redirect', 'custom_page_template' );
Или template_include
:
function custom_page_template( $page_template ) {
if (is_home()) {
$page_template = plugin_dir_path( __FILE__ ) . 'custom-page-template.php';
return $page_template;
}
}
add_filter( 'template_include', 'custom_page_template' );
1
Author: s_ha_dum, 2015-07-01 13:20:19