Ну что бы понятнее было : создаю functions.php чистый, в дочерней теме и в нем уже пытаюсь писать на темы : require_once( get_stylesheet_directory(). ‘/header-functions.php’ );
Вообще много всяких вариантов перепробовал, все и не вспомнить теперь. Результат один, все умирает.
Модератор
Юрій
(@yube)
Если в родительской /inc/header-functions.php подключен через php-функции include/require, то ничего Вы с ним не сделаете. WP умеет манипулировать только шаблонами, подключаемым через функции WP.
Разве что функции в этом файле замещаемые ( определенные через if (function_exists()), тогда их можно заменить своими одноименными.
-
Ответ изменён 6 лет, 2 месяца назад пользователем Юрій.
В родительской теме, в файле functions.php
он подключен вот так :
require_once( COLORMAG_INCLUDES_DIR . ‘/header-functions.php’ );
ну да, кажется так и есть
if ( ! function_exists( ‘colormag_setup’ ) ) :
«тогда их можно заменить своими одноименными.»
А как это вообще правильно сделать то ?
Да и опять же, замкнутый круг какой то )) мне бы вовсе не нужно «заменять» или «переопределять» функции!
Там в этом файле header-functions.php идет в основном html
Типо:
<div class=»news-bar»>
<div class=»inner-wrap clearfix»>
и тд…
Мне его тупо верстать надо +)))
Просто не в родительской а в дочерней теме…
Модератор
Юрій
(@yube)
В functions.php дочерней или его инклюде
function colormag_setup() {
# свой код
}
Но лучше, наверно, так:
if ( ! function_exists( 'colormag_setup' ) ) {
function colormag_setup() {
# свой код
}
}
Модератор
Юрій
(@yube)
Там в этом файле header-functions.php идет в основном html
Типо:
<div class=»news-bar»>
Если это внутри функции, то полностью копируете функцию, а затем меняете внутри что надо.
Попробовал. Это кусок который Вы дали :
if ( ! function_exists( ‘colormag_setup’ ) ) {
function colormag_setup() {
# свой код
}
}
Начал творить что то не понятное. По выводил в менюху сайта все страницы которые только есть +)) (даже в чистом виде).
В него пробую вставлять код, тоже чудеса какие то происходят.
Но тем не менее, как вариант, работает тупо, копирование всего содержимого header-functions.php прям в файл functions.php дочерней темы.
Тогда да, его можно редактировать, но как то это все не кашерно…
Если мне понадобиться (а скорее всего понадобиться) еще и другие файлы из внутренних папок редактировать? То что же все их содержимое хранить в functions.php ?
Модератор
Юрій
(@yube)
копирование всего содержимого header-functions.php
Зачем всего? Только функций (там же функции, судя по названию?), в которых нужно что-то менять.
То что же все их содержимое хранить в functions.php ?
Кладите в другие файлы и подключайте их инклюдом. Хоть построчно можно нарезать.
Да Вы правы. Кажется разобрался….
Спасибо!