Я довольно новичок в разработке и кодировании тем Wordpress и недавно начал тему для детей, основанную на теме Сиднея, которая предлагается бесплатно в Wordpress. Я попал в ловушку, я не могу разобраться.Как переопределить родительский файл в дочерней теме Wordpress, когда требуется родительский файл в functions.php
Существует файл PHP, который вызывается через родительский functions.php
, что мне нужно настроить и не трогать, когда я обновляю родительскую тему. Этот файл называется template-tags.php
и находится внутри папки «inc». Теперь, предположительно, согласно Wordpress codex (о котором я проконсультировался, прежде чем спрашивать здесь), любые повторяющиеся файлы в дочерней теме (кроме functions.php
) автоматически переопределяют те в родительской теме. Я не знаю, работает ли это так же для файлов внутри папок, но я думаю, что тот факт, что этот конкретный файл вызывается в родительском functions.php
, делает его так, что он загружается в файл родителя. Я предполагаю это, потому что то же самое относится к стилям CSS и JS-файлов сценариев, которые мне пришлось вложить в дочернюю тему, чтобы получить мои собственные настроенные версии.
Однако в кодексе Wordpress ничего не сказано как переопределить файл, который уже вызывается в родительском functions.php
. И я ничего не могу найти где-нибудь еще (даже в этих вопросах: WordPress child theme override a parent theme include, Overiding parent theme functions with a Child theme in WordPress, How to override a not plugable parent theme function from a non function.php file?, Wordpress child theme - functions.php copy - cannot "redeclare"), который мне помогает.
Итак, подведем итоги:
- Родительская тема имеет «вкл» папку с файлом
template-tags.php
в нем. - В моей дочерней теме также есть папка «inc» с файлом
template-tags.php
. Родитель ТЕМЫ
functions.php
имеет следующий код, который вызывает его файл:require get_template_directory() . '/inc/template-tags.php';
Все, что я пытаюсь добавить в
functions.php
файл моего ребенка, который вызывает его файлtemplate-tags.php
приведет к ошибке, так как очевидно, WP может» t требуется одно и то же дважды.
Короткие закомментировать вызов в материнской компании functions.php
, который does't мне кажется, практическое решение, но больше работы вокруг, я понятия не имею, что еще делать.
Буду признателен за вход в это время. Заранее спасибо!
его хорошая практика позволяет дочерним файлам темы переопределять родительский шаблон. Но если разработчик использовал, вы не можете пропустить свой собственный файл там, это похоже на страницу функций в любом случае. Вы можете увидеть, какие функции вы хотите переопределить, и вы можете отцепить их и подключить самостоятельно. – David
Привет, Дэвид, спасибо за ответ. Если я правильно вас понимаю, вы рекомендуете связать свой файл, в котором связан файл родителя. Если это так, я мог бы также отрезать эту ссылку в родительском файле, а ссылка в функциях моего ребенка .php будет единственной. Но тогда я должен был бы это помнить и входить и делать это каждый раз, когда тема обновляется. И, похоже, это часто случается. Я начал в середине прошлой недели и уже сегодня обновился; 15-го, потому что это версия 1.15. Я бы предпочел избежать необходимости всегда делать это. Благодаря! – QuestionerNo27
no im, заявляя, что это так :), но что было бы возможно, это посмотреть каждую функцию отдельно и, если возможно, отцепить их, например, если функция подключена к init, отцепите ее и зацепите за нее. но, судя по имени файла, теги шаблона - они используются в шаблонах? вы можете просто создать свои собственные шаблоны, используя свои собственные теги и т. д. ... – David