【发布时间】:2015-10-09 04:55:01
【问题描述】:
我正在切换到我自己编写的新 Wordpress 插件,该插件将与 Woocommerce 购物车顶部的旧插件一起运行。当我运行这两个插件时,我想删除旧插件的操作,该操作调用它的表格以在用户我的帐户页面中显示。如果需要,我会在之后添加逻辑来确定它,但现在我只需要删除它。
这是在旧插件中调用操作的方式。
class WC_Subscriptions {
public static function init() {
// Display Subscriptions on a User's account page
add_action( 'woocommerce_before_my_account', __CLASS__ . '::get_my_subscriptions_template' );
}
}
WC_Subscriptions::init();
到目前为止,在我自己的插件中,我调用了以下内容,但它们都不起作用。
remove_action( 'woocommerce_before_my_account', array('WC_Subscriptions', 'get_my_subscriptions_template' ) );
// no error but still shows the table
最后一个
remove_action( 'woocommerce_before_my_account', array( WC_Subscriptions::init(), 'get_my_subscriptions_template' ) );
// Fatal error: Class 'WC_Subscriptions' not found in /var/sites/XXXXX on line 45
我已尝试从 1、9、10、11 和 99 更改/添加 $priority,但这也不起作用。
这很令人沮丧,因为我确信如果旧插件是使用 new 实例启动的,那么我可以这样做
global $my_class;
remove_action( 'woocommerce_before_my_account', array( $my_class, 'get_my_subscriptions_template' ) );
谁能帮忙?
【问题讨论】:
标签: php wordpress woocommerce