当我们想在一个类中执行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();
}
是否有其他方法可以执行此操作而无需编写调用父函数的函数?
答案 0 :(得分:0)
您可以在不编写新函数的情况下调用父类方法。唯一的要求是将父类方法定义为public。
class ParentClass {
public function someMethod() {
print('Hi');
}
}
class ChildClass extends ParentClass {
public function __construct() {
add_action('wp_head', [ $this, 'someMethod']);
}
}