Я использую тему TwentyTen для создания дочерней темы, но не могу избавиться от шаблона страницы «Один столбец, без боковой панели», который находится в родительской теме TwentyTen.
Я думал, просто скопировав его и удалив содержимое, можно добиться цели, но, похоже, нет. Кто-нибудь знает как это сделать? Я уверен, что это очень просто.
Благодарность
осу
WordPress 3.9 представляет
theme_page_templates
фильтр.В приведенном ниже примере из дочерней темы « Двадцать четырнадцать»
functions.php
показано, как удалить шаблон «Страница участника»:источник
Расширяя ответ @Rarst, приведем более общий подход, который не привязан к конкретной теме, но может использоваться в файле functions.php вашей собственной дочерней темы, чтобы уничтожить любые шаблоны страниц родительской темы, от которых вы хотите избавиться.
Таким образом, вы можете использовать его в файле functions.php вашей дочерней темы следующим образом:
Здесь я просто показываю, что вам не нужно пропускать часть «.php», если вы этого не хотите.
Или:
remove_template( "sidebar-page" );
- вам не нужно передавать массив, если вы хотите изменить только один файл.источник
В ядре WP есть новый фильтр (3.9) для удаления шаблонов страниц. Может использоваться из дочерних тем.
Вот как этого добиться в TwentyTen (протестировано на WP 3.9):
https://core.trac.wordpress.org/changeset/27297
http://boiteaweb.fr/theme_page_templates-hook-semaine-16-8033.html
источник
Так как предыдущие ответы больше не работают здесь в текущих версиях WordPress, и был связанный вопрос, на который я только что ответил (апрель 2013), используя выходной буфер PHP, я решил опубликовать ссылку на этот ответ.
Также только что опубликовал Omit Родителя Тему Шаблонов страниц плагин , который отфильтровывает все шаблоны родительской темы страницы из списка шаблонов в атрибутах страницы METABOX при добавлении или редактирования WordPress «страница.»
источник
10 июля 2012 - WordPress 3.4.1
Предыдущие ответы не работают и, как сказал Рарст в комментарии:
Быстрое и грязное решение jQuery
Крюка для этого нет?
Если я следовал по правильному пути, это то, где происходит «действие» (
/wp-includes/class-wp-theme.php
), и похоже , что здесь нечего зацепить ...источник