Intereting Posts
Довольно URL для пользовательской разбивки на страницы Как добавить новые типы опций в дерево вариантов? Как перенаправить пользователей на пользовательскую страницу с потерянным паролем? Внедрение JavaScript в сообщение с WP3.x Отправка формы в wordpress плагин muliple wordpress multisite устанавливает на том же сервере Как увидеть файл wp-config из панели управления WordPress? Скрыть / Показать только определенные категории в wp-admin new-post.php Как отключить виджет на некоторых страницах? Функция выбора цвета jQuery при изменении Удалить раздел личных настроек из профиля Блокировщик панели мониторинга для многопользовательской сети для определенных пользовательских ролей Как отобразить дескриптор всех внешних скриптов в очереди на странице параметров плагина? htaccess переписать, добавив сегмент к URL-адресу Условно загрузить сценарий, если определенный виджет отображается на странице

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

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