functions.php работает сразу из 2-х тем — и родительской и дочерней. соответственно, php падает, так как у вас там одинаковые функции (с одним и тем же названием) прописаны.
functions.php в дочерней теме должен быть пустым. ну с <?php
на первой строчке и все. ну и стандартно — убедитесь, что файл в кодировке UTF8 без БОМ.
В чем может быть причина?
В том, что «Файл взял из родительской темы».
матчасть:
Использование functions.php
В отличие от style.css, файл functions.php дочерней темы не заменяет собой соответствующий файл родительской темы. Вместо этого, он загружается в дополнение к родительскому файлу functions.php.
Т.е. не может быть одинаковых функций в родителе и дочке.
functions.php в дочерней теме должен быть пустым.
Да ладно, Вам 🙂
ну изначально пустым
Ну тогда он вообще не нужен.
Модератор
Yuri
(@yube)
Скажем так: не должен дублировать functions.php родительской. 🙂
Ну тогда он вообще не нужен.
да это уже семантика 😉 при создании дочерней темы файл создается пустым, а уже потом туда складируются нужные функции. вы же прекрасно поняли о чем я, зачем опять на пустом месте спорить? 🙂
при создании дочерней темы файл создается пустым,
Он же не сам создаётся. Зачем же его создавать, если ничего в него не писать? Вот когда понадобится — тогда и вперёд.
Не, в этом случае я правда не понимаю смысла и лишних телодвижений (и даже рисков) для создания и пусть мизерных, но всё же затрат ресурсов по обработке его ВП-ом.
НО! Его всё же нужно создать, прописав в него подключение стилей родителя вместо @import
в style.css.
[режим зануды on]
Скажем так: не должен дублировать functions.php родительской
не должен дублировать ФУНКЦИИ из functions.php родительской.
[режим зануды off]
😉
ох SeVlad, не было меня на форуме пару месяцев, но ничего не изменилось 🙂 все по-прежнему, споры буквально ни о чем на пустом месте, я по этому скучал 😉
Модератор
Yuri
(@yube)
не должен дублировать ФУНКЦИИ
Тогда уже «незамещаемые функции» :p
В style.css дочерней темы надо все вставлять из родительской или достаточно прописать «@import url(«../storefront/style.css»);»?
достаточно прописать «@import url(«../storefront/style.css»);»?
Можно и так, но рекомендуется подключение с помощью wp_enqueue_style в functions.php
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>
Также, для облегчения процесса можно воспользоваться плагином Child Theme Configurator.
Немного про дочерние темы с картинками и видео.
А после активации дочерней темы сайт заново надо настраивать?
да. как минимум виджеты упадут.
А после активации дочерней темы сайт заново надо настраивать?
Для копирования настроек в плагине Child Theme Configurator есть галочка «Copy Menus, Widgets and other Customizer Settings from the Parent Theme to the Child Theme:»
Ну вроде наладил.Спасибо что терпели и всё разжевали