Модератор
Yuri
(@yube)
система не реагирует на изменения в одном файле
В дочерней подменяются только шаблоны, полученные штатным механизмом, и те скрипты, которые подключены с использованием пути get_stylesheet_directory().
class-twentytwenty-walker-comment.php и ряд других подключены так:
require get_template_directory() . '/classes/....
а это значит, что будет браться из родительской.
Что делать? В дочернем functions.php (или подключенном к нему файле) создать свое альтернативное определение класса TwentyTwenty_Walker_Comment. То есть, поступить так же, как обычно поступают с замещаемыми функциями родительской темы.
Спасибо. А то думал — поломалось у меня тут всё.
Где можно почитать какой-нибудь мануал о методе такого подключения?
Модератор
Yuri
(@yube)
Где можно почитать какой-нибудь мануал о методе такого подключения?
Без понятия. Никогда не интересовался мануалами на такие темы 🙂
Да там и так всё просто. Смотрите определение функции или класса, и если определение «обёрнуто» в if ( ! function_exists
| if ( ! class_exists
, то значит можно переопределять (правильнее, наверно, говорить предопределять).
У ядра WP есть ряд таких замещаемых функций, они даже вынесены в отдельный файл wp-includes/pluggable.php
Немного порыл с вашей наводки. Помогло это:
require get_stylesheet_directory() . '/classes/class-twentytwenty-walker-comment.php';
Надеюсь, будет работать дальше. Большое спасибо.
-
Ответ изменён 3 года, 4 месяца назад пользователем
serpant.
(@serpant)
3 года, 4 месяца назад
Создал дочернюю тему от Twenty Twenty, работает всё нормально. Кроме одного — система не реагирует на изменения в одном файле —
/classes/class-twentytwenty-walker-comment.php
. Заметил пока в нём, другие из этой папки не проверял.Изменять пробовал, как из-под встроенного редактора Вордпресса, так и на сервере. Остальные
*.php
изменяются корректно. Для проверки, внёс изменения в таком же файле родительской темы, сработало. Что не так с этим файлом именно в дочерней теме? Куда копать?На всякий, если интересно и поможет пролить свет: к части, отвечающей за вид правки комментария в
class-twentytwenty-walker-comment.php
, добавляю пару кнопок — «Спам» и «Удалить».При этом,
delete_comment_link(get_comment_ID());
получает функционал от сниппета: