Пользовательские шаблоны не отображаются в выпадающем списке шаблонов

9 янв. 2017 г., 00:46:48
Просмотры: 97.3K
Голосов: 31

У меня возникли проблемы с шаблонами в WordPress (multisite). Я создал файл в корневой папке моей дочерней темы (template-test.php)

<?php
/**
* Template Name: Тестовый шаблон
*
*/
?> 

<?php get_header(); ?>

<?php get_footer(); ?>

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

Что я уже попробовал: - Отключение и включение моей темы - Сброс постоянных ссылок - Проверка прав доступа к файлам - Проверка наличия style.css в корневой папке шаблона (он там есть)

Я пробовал тот же файл на другой установке WordPress, и там он работает нормально.

4
Комментарии

Проверьте, есть ли файл index.php в корневой папке вашей темы

Eugene Eugene
1 мая 2017 г. 11:35:38

У меня такая же проблема, и я попробовал все, что вы упомянули. Вы нашли решение?

wckronholm wckronholm
5 мая 2017 г. 00:23:54

В моем случае я вообще не вижу этот файл в Редакторе тем. @Tom, вы решили эту проблему?

Ofir Baruch Ofir Baruch
21 нояб. 2017 г. 14:42:02

У меня была такая же проблема (v5.4.2). Сначала не работало, а потом вдруг заработало. Я добавил строку '* Template Post Type: post, page, product', и, кажется, это исправило проблему, но когда я убрал её, всё равно продолжало работать... Загадка? Возможно, какая-то проблема с кешированием?

dra_red dra_red
11 июн. 2020 г. 03:42:34
Все ответы на вопрос 7
4
33

В WordPress 4.9 есть такая ошибка: https://core.trac.wordpress.org/ticket/42573, из-за которой файлы шаблонов сканируются заново только раз в час.

Чтобы исправить это (пока не выйдет новая версия WP с исправлением), скачайте патч из этого тикета и внесите изменения из патча в файл wp-includes/class-wp-theme.php.

Надеюсь, это сэкономит кому-то те 2 часа, которые я потратил на это..

21 нояб. 2017 г. 21:10:36
Комментарии

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

Bradley4 Bradley4
22 нояб. 2017 г. 23:47:22

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

r1987 r1987
27 нояб. 2017 г. 20:53:36

@r1987 обновление style.css сработало!

Darye Darye
30 нояб. 2017 г. 01:31:47

У меня файл style.css был поврежден, просто обновите его, и все должно заработать

nodws nodws
18 июн. 2018 г. 19:02:07
0

Убедитесь, что в вашей основной теме есть файл index.php. Основная тема обязательно должна содержать index.php. У меня была такая же проблема, и это оказалось причиной. Проверить можно следующим кодом:

function testate(){
    global $wp_themes;
    $tema = wp_get_theme();
    echo '<pre>';
    print_r($tema);
    die;
}

// Добавляем действие для вызова функции testate при инициализации
add_action('init', 'testate' );
2 нояб. 2017 г. 14:01:04
0

В WordPress 4.9 есть ошибка.

Я нашел этот временный плагин очень простым в использовании. Планирую удалить его, когда ошибку исправят, но пока он отлично работает!

Плагин: https://github.com/connorlacombe/WP-Clear-File-Cache

22 нояб. 2017 г. 01:30:24
0

Шаблоны можно деактивировать, удалив их из глобальной переменной 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/

9 янв. 2017 г. 01:40:25
0

Я также столкнулся с этой проблемой на сайте с WordPress Multisite и смог исправить её, выполнив следующие шаги:

  1. Перейдите по адресу http://example.com/wp-admin/network/themes.php (замените example.com на ваш URL).
  2. Нажмите ссылку "Редактировать" под темой, которая вызывает у вас проблемы.
  3. В правой боковой панели кликните по имени файла шаблона, который не отображается. Например, там может быть написано "Шаблон страницы событий (template_events.php)".
  4. Не вносите никаких изменений в файл и нажмите синюю кнопку "Обновить файл".
  5. Обновите страницу редактирования, где вы пытаетесь установить шаблон, и теперь он должен появиться в выпадающем списке.

Если это не помогло, я бы рекомендовал ознакомиться с http://vanseodesign.com/wordpress/wp-page-templates-dropdown/. Там есть другие возможные решения.

Удачи.

15 мар. 2017 г. 22:17:17
0

Вы случайно переместили или удалили файл style.css из корневой директории темы?

Если да, то возможно в этом причина - создайте style.css заново, чтобы снова включить выпадающий список шаблонов.

21 февр. 2019 г. 12:27:52
1
-2

Исправление шаблона страницы, не отображающегося в выпадающем меню пожалуйста, активируйте плагин ниже для исправления (вместо изменения файлов ядра WordPress)

Ниже ссылка для скачивания https://drive.google.com/file/d/1ycHQGdc_vQtvtfBaznJp1KRsEbcoRwxB/view?usp=sharing

29 нояб. 2017 г. 13:28:04
Комментарии

Никогда не устанавливайте плагин по ссылке такого типа! Этому нельзя доверять. Всегда устанавливайте плагины только из проверенных источников, таких как официальный репозиторий плагинов WordPress.

jasonlfunk jasonlfunk
17 дек. 2018 г. 14:12:55