2017-01-06 2 views
1

У меня есть родительская тема Wordpress, из которой моя дочерняя тема расширяет множество функций. Моя проблема заключается в том, что когда я хочу использовать или расширять класс из родительских элементов в моей структуре папок дочерних тем, я получаю ошибки «класс не определен» или «класс не найден»Вызов класса из родительского вопроса Тема Wordpress

Что является правильным способом использовать классы из родительской темы?

Вот пример одного из классов:

class MyNewClass extends ReadAndDigestWidget {} 

И этот класс будет вызывать больше классов внутри него, которые из родительской темы.

Любая помощь в понимании Wordpress и PHP более глубоко ценится!

ответ

0

PHP не является языком ООП по дизайну, поэтому результаты могут быть тривиальными порой. Вот простой пример того, как работает наследование в PHP

class ChildTheme extends ParentTheme { 
     function parentDropDownMenu(){ 
      parent::dropDownMenu(); 
      //do additionall stuff 
     } 
    } 

theme = new ParentTheme(); 
$theme->dropDownMenu(); // will call the parent function directly 
$theme->parentDropDownMenu();  // will call the function override 

Обычно я бы даже не переопределить методы класса моего родителя в PHP, а просто расширить класс, если у меня нет полного контроля над родительским классом. Что делать, если обновление происходит в Wordpress, и вы переопределяете необходимое обновление?

+0

Я понимаю, как работает наследование. Моя борьба расширяется или использует родительские классы темы. Я хочу создать новый класс в дочерней теме, который расширен с использованием класса, включенного в родительскую тему. Однако когда я это делаю и инициализирую его в functions.php дочерней темы. Я получаю сообщение о том, что новый класс, который я создал, не может найти родительский класс, с которым я его расширяю. Имеет ли это смысл? Как вы используете классы в дочерней теме из родительской темы, потому что, насколько я понимаю, родительский элемент инициализируется вторым после детской темы? –

Смежные вопросы