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

23

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

<?php
/**
* Template Name: Test template
*
*/
?> 

<?php get_header(); ?>

<?php get_footer(); ?>

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

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

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

Том
источник
Проверьте, есть ли у вас index.php в корне вашей темы
Евгений
У меня та же проблема, и я попробовал все, что вы упомянули. Вы когда-нибудь получали решение?
wckronholm
В моем случае я даже не вижу файл в редакторе тем. @ Том, ты это решил?
Офир Барух,

Ответы:

32

Просто в Wordpress 4.9 есть эта ошибка: https://core.trac.wordpress.org/ticket/42573, в результате чего файлы шаблонов проверяются только один раз в час.

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

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

Ян Жаньковский
источник
3
Вы также можете добавить этот код в файл functions.php или добавить его как плагин, чтобы остановить кэширование, а не редактировать основные файлы: gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950
Bradley4
8
Другое простое решение - добавить версию темы в файл style.css, как указано @ ocean90 на форуме.
r1987
1
@ r1987 обновление style.css сработало!
Дарье
Для меня style.css был испорчен, так что просто обновите файл, и вы должны быть хороши
nodws
4

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

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

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

brilliantairic
источник
3

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

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

add_action('init', 'testate' );
Isu
источник
2

У меня также была эта проблема с сайтом на 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/ . Там есть несколько других возможных решений.

Удачи.

jg314
источник
1

Шаблоны можно деактивировать, удалив их из wp_themesглобальной переменной перед загрузкой раскрывающегося списка шаблонов.

Запустите этот код на странице, чтобы увидеть, какие шаблоны отображаются:

global $wp_themes;
$tema = wp_get_themes();
print_r($tema["child-theme folder name"]["Template Files"]);

Если ваш шаблон не отображается, родительская тема может удалить его из массива.

Он может появиться, если вы запустите этот код в front-end, так как родительская тема может сбросить его только при загрузке страницы редактора администратора.

Загрузите родительскую тему, найдите файлы $wp_themesи wp_get_themes();найдите местоположение этого кода.

Надеемся, что они дали вам способ предотвратить это с помощью фильтра, в противном случае вам, возможно, придется заново добавить файлы в дочерней теме. Это может быть полезно: http://www.wpexplorer.com/wordpress-page-templates-plugin/

Леви Йохансен
источник
0

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

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

Рохит Савай
источник
2
Никогда не устанавливайте плагин по такой ссылке! Этому нельзя доверять. Всегда устанавливайте плагины из надежных источников, таких как Wordpress Plugin Repository.
Jasonlfunk
0

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

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

Джейсон Мое Имя
источник