Intereting Posts
«Параметры экрана» отсутствуют. Где я должен начать поиск неисправностей? Настройка аутентификации WP из внешнего API Как я могу переделать постоянную ссылку для поиска страницы? Можно объединить два пользовательских типа сообщений? Создание таблицы из короткого кода, избегая wpautop для каждой строки Меню Custom Nav Walker – количество отображаемых категорий Проверьте, существует ли почтовый идентификатор в пользовательском типе сообщений, вне цикла Категория отображения миниатюр и ссылок в Woo commerce перейдите на главную страницу, когда я выбираю значение по умолчанию в поле выбора Какие журналы ошибок я могу проверить, чтобы узнать, почему обновления плагинов не работают? Что такое 'term_group' для 'order_by' в get_terms ()? Как показать изображение Мета под КАЖДОЙ картиной в КАЖДОЙ почте Как разрешить пользователям просматривать ожидающие сообщения определенного типа сообщений? Было ли что-нибудь, мешающее мне удалять оба wp_head и wp_footer? Удалить ненужный запрос Mysql

Как использовать выделенный шаблон для пользовательского типа сообщения из плагина?

Я работаю над этим руководством по пользовательским типам сообщений (в плагине), в котором автор демонстрирует, как принудительно использовать выделенный шаблон для настраиваемого типа сообщений . Таким образом, автор заявляет:

В коде (ниже) выполняется поиск шаблона single-movie-reviews.php в текущем каталоге тем. Если он не найден, он смотрит в каталог плагина для шаблона, который мы поставляем в составе плагина. Ключ template_include использовался для изменения поведения по умолчанию и принудительного применения определенного шаблона.

Шаг 1: добавлен этот код в мой файл plugin-name.php

 add_filter( 'template_include', 'include_reviews_template', 1 ); function include_reviews_template(){ if ( get_post_type() == 'reviews' ) { if ( is_single() ) { // checks if the file exists in the theme first, // otherwise serve the file from the plugin if ( $theme_file = locate_template( array( 'single-movie-reviews.php' ) ) ) { $template_path = $theme_file; } else { $template_path = plugin_dir_path( __FILE__ ) . '/templates/single-movie-reviews.php'; } } } return $template_path; } 

Шаг 2. Создайте файл с уникальным {custom-post-type} .php.

Затем я создал требуемый файл single-movie-reviews.php и добавил его в каталог '/my-plugin/templates/' .

Автор добавляет следующее:

Примечание. Вам нужно создать новую страницу из панели управления, используя только что созданный шаблон.

Проблемы

  1. Шаблон страницы НЕ отображается на панели инструментов
  2. Когда я посетил сообщение, которое я создал с помощью Custom Post Type, он показывает сообщение, используя шаблон страницы из плагина. Однако … каждая другая страница (т.е. страницы, не использующие CPT) теперь показывает пустой белый экран (как будто он не может найти подходящий шаблон для использования).

Так что я делаю неправильно?

пожалуйста, порекомендуйте

Solutions Collecting From Web of "Как использовать выделенный шаблон для пользовательского типа сообщения из плагина?"

Измените эту строку:

 function include_reviews_template(){ 

К этому:

 function include_reviews_template( $template_path ) { 

Когда get_post_type() == 'reviews' – false, вы возвращаете неустановленную переменную ( $template_path ). Это изменение должно отправить значение, переданное функции WordPress.