WordPress: невозможно перезаписать файл родительской темы через дочернюю тему - PullRequest
0 голосов
/ 05 октября 2018

У меня проблема с перезаписью файла родительской темы через дочернюю тему.Обычно я копирую файл родительской темы в дочернюю тему, следуя той же файловой структуре / пути, и это работает.Но на этот раз это не работает.Я не уверен, в чем проблема ...

Родительский файл находится по адресу:

wp-content/themes/THEMENAME/assets/js/FILENAME.js 

, и я помещаю по этому пути в дочернюю тему:

wp-content/themes/CHILDTHEME/assets/js/FILENAME.js

Та же проблема с этим файлом:

Родительский путь:

wp-content/themes/THEMENAME/includes/FILE.php

Дочерний путь:

wp-content/themes/CHILDTHEME/includes/FILE.php

Я почти уверен, что мне не хватаетчто-то техническое, но я не могу понять.Нужна помощь!

1 Ответ

0 голосов
/ 05 октября 2018

Дочерняя тема не переопределяет файлы css / js, для этого вам нужно удалить эти сценарии из очереди в дочернем файле functions.php. Вам нужно получить имя дескриптора сценария, которое родительская тема использует для постановки в очередь.

add_action( 'wp_enqueue_scripts', function(){
  wp_dequeue_script( 'script-handle-name' );
}, PHP_INT_MAX );

Дочерняя тема переопределяет только файлы шаблонов Шаблон Hirarchy

Для переопределения php-файла, Есть два условия:

1) ЕслиФункция файла, которую вы хотите переопределить, подключается к действию / фильтру, затем создайте функцию в файле дочерней темы functions.php с другим именем и подключите ее с более высоким приоритетом.

2) Если вы хотите переопределитьСама функция, вы можете воссоздать функцию в дочерней теме functions.php с тем же именем, только если функция создана в родительской теме с условием.

if ( ! function_exists ( 'my_function' ) ) {
    function my_function() {
    }
}

в противном случае возникнет фатальная ошибка.

...