Шаблон регистрации страницы из плагина

Я пытаюсь выяснить, как правильно зарегистрировать шаблон страницы (и все связанные с ним активы, такие как 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.

Solutions Collecting From Web of "Шаблон регистрации страницы из плагина"

Вы неправильно понимаете, что делает 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' );