Как добавить обратный вызов add_action для родительского метода? - PullRequest
0 голосов
/ 21 мая 2019

когда мы хотим сделать add_action внутри класса, мы обычно делаем это так:

 class Myclassprefix_Some_Class extends Some_Class {
   function __construct(){
     add_action('wp_head', array($this, 'myfuncprefix_add_meta_tag'));
   }
   function myfuncprefix_add_meta_tag(){
     echo '<meta name="description" content="This is an example meta tag" />';
   }
 }

Теперь я хочу вместо этого вызвать родительский метод.

Я хочу изменить:

add_action('wp_head', array($this, 'myfuncprefix_add_meta_tag'));

до:

add_action('wp_head', array($parent, 'some_parent_method'));

Как правильно изменить $ parent? Я знаю, что могу сделать так:

add_action('wp_head', array($this, 'some_parent_method'));
   function some_parent_method(){
     parent::some_parent_method();
   }

Есть ли другой способ сделать это без написания функции для вызова родительской функции?

1 Ответ

0 голосов
/ 21 мая 2019

Вы можете вызвать метод родительского класса, не написав новую функцию для этого. Единственное требование - метод родительского класса определен как открытый.

class ParentClass {
    public function someMethod() {
        print('Hi'); 
    }
}

class ChildClass extends ParentClass {
    public function __construct() {
        add_action('wp_head', [ $this, 'someMethod']);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...