如何为父方法添加add_action回调?

时间:2019-05-21 19:44:21

标签: wordpress

当我们想在一个类中执行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 :(得分:0)

您可以在不编写新函数的情况下调用父类方法。唯一的要求是将父类方法定义为public。

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

class ChildClass extends ParentClass {
    public function __construct() {
        add_action('wp_head', [ $this, 'someMethod']);
    }
}