经过大量的反复试验和研究后,我又回到了原点。 简单地说我想要做的就是通过子主题function.php编辑一个在父主题类中的函数,但是类本身不可插入:(。
有人可以通过儿童主题给我正确的方法来覆盖课程吗?甚至可以在不可插拔的类上使用吗?
该类本身扩展了另一个类,基类为IS PLUGGABLE。
class Fre_ReviewAction extends AE_Base --> Class attempting to overrite
----------------------------------
if (!class_exists('AE_Base')) {
class AE_Base --> Base class IS PLUGGABLE?
是否可以通过子主题函数重写.php?
答案 0 :(得分:0)
是的,你可以这样做,首先你需要删除你在父/基类中使用的动作。
function remove_add_class_actions() {
//remove some action stuff , for example I used woocommerce action
remove_action( 'some_action_hook', array( $GLOBALS['someglobals'], 'functiontooverrideinchildclass' ), 10, 3 );
//add action by child class m in your case it will be Fre_ReviewAction
add_action( 'some_action_hook', array( new Fre_ReviewAction, 'functiontooverrideinchildclass' ) );
}
add_action( 'init','remove_add_class_actions' );
之后,您需要定义扩展父级的子类
class Fre_ReviewAction extends AE_Base {
function __construct() {
//parent::__construct();
}
function functiontooverrideinchildclass(){
//your stuff here
}
}