Невозможно добавить пользовательский шаблон страницы в мою дочернюю тему - PullRequest
3 голосов
/ 20 января 2012

Я использую Wordpress 3.3.1.

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

Чтобы уточнить «нормальный», вотЧто работает: Моя дочерняя тема появляется и активируется нормально.Мой код CSS (в style.css) появляется.Мои файлы из иерархии шаблонов работают (например: front-page.php, page.php)

Я прочитал и перечитал кодекс, а также мой файл шаблона пользовательской страницы ("прибывающий-скоро.фп"), кажется, имеет правильный заголовок:

<?php
 /*
  Template Name: Coming Soon
 */

Так почему же он не отображается в раскрывающемся меню «Шаблон» ???

Я добавил десятки пользовательских шаблоновраз и никогда не было этой проблемы.Единственное возможное различие, о котором я могу думать, - это то, что я пишу дочернюю тему (хотя кодекс говорит, что это не должно иметь значения), или, возможно, это разница в новейшем обновлении WP.

Ответы [ 4 ]

8 голосов
/ 21 января 2012

Я не могу скопировать то, что вы видите, с чистой установкой WordPress 3.3.1. У меня есть тема только с двумя файлами, style.css, содержащими:

/*
Theme Name:     stackoverflow-8946077
Template:       twentyeleven
Version:        0.0.1
*/
@import url("../twentyeleven/style.css");

и coming-soon.php, содержащие:

<?php
 /*
  Template Name: Coming Soon
 */

get_header();
?><h1>Coming Soon</h1><?php
get_footer();
?>

первая часть которого была скопирована с вашего вопроса.

Я вижу шаблон, как и ожидалось:

WordPress templates

Единственное, о чем я могу думать, это перепроверить:

  • файл существует на сервере, на котором вы работаете
  • файл находится в каталоге дочернего шаблона (хотя он должен работать, если он находится в каталоге twentyeleven)
  • в каталоге twentyeleven нет файла с таким именем, который (я думаю) имел бы приоритет
  • имя файла оканчивается на .php
  • у вас есть только один пробел между "Template" и "Name:" (используемое регулярное выражение содержит литерал Template Name:)

В противном случае раскрывающийся список заполняется функцией get_page_templates в wp-admin/includes/theme.php. Возможно, стоит вставить туда некоторый отладочный код, чтобы узнать, включает ли переменная $templates coming-soon.php.

2 голосов
/ 25 ноября 2017

Это старая ветка.Но если кто-то сейчас ищет решения, это может быть проблемой в WP 4.9.Подробнее: Шаблоны не работают должным образом

1 голос
/ 06 июня 2013

В моей ситуации это были права доступа к файлу.Я установил его на 755 или на любое другое стандартное разрешение WP (в отношении безопасности), и оно сработало!

0 голосов
/ 19 октября 2016

Мой также оказался файл прав доступа.

Я установил его на 777, и он работал как шарм!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...