我想覆盖子主题中的功能,该功能是在父主题的类内定义的。
这是示例代码:
class A extends B{
function __construct(){
$this->add_ajax('sync_post_data', 'need_to_override');
}
//other functions
function need_to_override(){
//function code
}
}
其他信息:
B类扩展了C类,而C类是定义add_ajax
的根类。
我尝试过的事情:
其次,我尝试删除ajax操作并添加我的自定义操作。它将引发500个内部服务器错误。
remove_action( 'wp_ajax_sync_post_data', 'need_to_override' );
add_action( 'wp_ajax_sync_post_data', 'custom_function' );
function custom_function(){
//function code with my custom modification
}
请帮助...
答案 0 :(得分:1)
您只需两个简单的步骤即可覆盖该类方法。
方法如下:
functions.php
像这样创建新类:
add_action( 'after_setup_theme', function() {
class D extends A{
function need_to_override(){
//original function code with your custom modifications
}
}
new D();
});
PS:它可以工作,但是我不确定这是否是最好的方法!