Пользовательские шаблоны не отображаются в выпадающем списке шаблонов
У меня возникли проблемы с шаблонами в WordPress (multisite). Я создал файл в корневой папке моей дочерней темы (template-test.php)
<?php
/**
* Template Name: Тестовый шаблон
*
*/
?>
<?php get_header(); ?>
<?php get_footer(); ?>
Этот шаблон не появляется в выпадающем списке шаблонов при создании новой страницы или редактировании существующей. В выпадающем списке отображается только 'шаблон по умолчанию'.
Что я уже попробовал: - Отключение и включение моей темы - Сброс постоянных ссылок - Проверка прав доступа к файлам - Проверка наличия style.css в корневой папке шаблона (он там есть)
Я пробовал тот же файл на другой установке WordPress, и там он работает нормально.

В WordPress 4.9 есть такая ошибка: https://core.trac.wordpress.org/ticket/42573, из-за которой файлы шаблонов сканируются заново только раз в час.
Чтобы исправить это (пока не выйдет новая версия WP с исправлением), скачайте патч из этого тикета и внесите изменения из патча в файл wp-includes/class-wp-theme.php
.
Надеюсь, это сэкономит кому-то те 2 часа, которые я потратил на это..

Вы также можете добавить этот код в ваш functions.php или использовать его как плагин, чтобы отключить кэширование, вместо редактирования основных файлов: https://gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950

Еще одно простое решение — обновить версию темы в файле style.css, как указал @ocean90 на форуме.

Убедитесь, что в вашей основной теме есть файл index.php. Основная тема обязательно должна содержать index.php. У меня была такая же проблема, и это оказалось причиной. Проверить можно следующим кодом:
function testate(){
global $wp_themes;
$tema = wp_get_theme();
echo '<pre>';
print_r($tema);
die;
}
// Добавляем действие для вызова функции testate при инициализации
add_action('init', 'testate' );

В WordPress 4.9 есть ошибка.
Я нашел этот временный плагин очень простым в использовании. Планирую удалить его, когда ошибку исправят, но пока он отлично работает!
Плагин: https://github.com/connorlacombe/WP-Clear-File-Cache

Шаблоны можно деактивировать, удалив их из глобальной переменной wp_themes
до загрузки выпадающего списка шаблонов.
Запустите этот код на странице, чтобы увидеть, какие шаблоны отображаются:
global $wp_themes;
$tema = wp_get_themes();
print_r($tema["child-theme folder name"]["Template Files"]);
Если ваш шаблон не отображается, возможно, родительская тема удалила его из массива.
Он может появиться, если запустить этот код на фронтенде, так как родительская тема может удалять его только во время загрузки страницы редактора в админке.
Скачайте родительскую тему и выполните поиск по файлам на наличие $wp_themes
и wp_get_themes();
, чтобы найти расположение этого кода.
Надеемся, что разработчики предусмотрели возможность предотвратить это с помощью фильтра. Если нет, возможно, придется повторно добавить файлы в дочернюю тему. Это может быть полезно: http://www.wpexplorer.com/wordpress-page-templates-plugin/

Я также столкнулся с этой проблемой на сайте с WordPress Multisite и смог исправить её, выполнив следующие шаги:
- Перейдите по адресу http://example.com/wp-admin/network/themes.php (замените example.com на ваш URL).
- Нажмите ссылку "Редактировать" под темой, которая вызывает у вас проблемы.
- В правой боковой панели кликните по имени файла шаблона, который не отображается. Например, там может быть написано "Шаблон страницы событий (template_events.php)".
- Не вносите никаких изменений в файл и нажмите синюю кнопку "Обновить файл".
- Обновите страницу редактирования, где вы пытаетесь установить шаблон, и теперь он должен появиться в выпадающем списке.
Если это не помогло, я бы рекомендовал ознакомиться с http://vanseodesign.com/wordpress/wp-page-templates-dropdown/. Там есть другие возможные решения.
Удачи.

Исправление шаблона страницы, не отображающегося в выпадающем меню пожалуйста, активируйте плагин ниже для исправления (вместо изменения файлов ядра WordPress)
Ниже ссылка для скачивания https://drive.google.com/file/d/1ycHQGdc_vQtvtfBaznJp1KRsEbcoRwxB/view?usp=sharing
