Я использую тему под названием «база представлений». Документация находится здесь: http://wp-types.com/documentation/views-inside/views-base-theme/views-base-customization/Как вы изменяете класс темы WordPress с дочерней темой?
Я создал дочернюю тему, и я пытаюсь понять, как добавить новую область виджета в тему.
Файл functions.php родительской темы имеет следующую строку: require_once ('class_base_theme.php');
Этот файл содержит класс class_base_theme с свойством $ sidebar_array с массивом всех областей виджетов.
Я могу легко добавить в новый регион этого родительского класса, просто добавив его в свойство $ sidebar_array. Но я не могу понять, как продлить и изменить этот класс в дочерней теме. Я не могу сделать это в файле functions.php моей дочерней темы, потому что он вызывается перед файлом functions.php родителя.
Я смог выполнить то, что мне нужно, скопировав файл class_base_theme.php в мою дочернюю тему, а затем выполнил require_once ('class_base_theme.php') в файле functions.php моей дочерней темы. Есть ли лучший способ сделать это? – StevieD
Я хотел бы знать ответ на этот вопрос, кто-нибудь знает лучший/правильный способ сделать это? – Keet
Собственно, это зависит от родительской темы. Если родитель использует 'if (! Class_exists ('class_name'))' перед загрузкой класса, то это сработает, но если нет, вы получите ошибку, пытающуюся переопределить класс. Я бы предложил расширить класс. Создайте новый php-файл в своей теме, используйте его, затем расширьте класс родителя таким образом, как 'Child_Class расширяет Parent_Class {}' –