我正在尝试使用remove_action来阻止插件的一部分运行 - 不要问我为什么:-)。
插件中的功能是:
add_action( 'woocommerce_before_single_product_summary', array( $this, 'show_product_gallery' ), 30 );
我试图通过以下方式删除它:
remove_action( 'woocommerce_before_single_product_summary', array( $this, 'show_product_gallery' ), 30 );
出于某种原因,它并没有成功,尽管这通常适用于Wordpress / WooCommerce。
有谁能说出为什么这可能会取悦?我也尝试将我的功能挂钩到其他东西,例如。
add_action( 'init', 'remove_it' );
function remove_it() {
remove_action( 'woocommerce_before_single_product_summary', array( $this, 'show_product_gallery' ), 30 );
}
(插件代码:https://codedump.io/share/axGWwMwAH0vn/1/linzs-hook-not-working) 欢呼声,
林茨
已编辑:此问题与前一个问题有所不同,因为remove_action无效,因为这与错误的优先级有关 - 而此优先级在30时是正确的。
答案 0 :(得分:1)
您需要全局访问类变量。请试试这个。
add_action( 'wp', 'remove_it' );
function remove_it() {
global $WC_Product_Gallery_slider;
remove_action( 'woocommerce_before_single_product_summary', array( $WC_Product_Gallery_slider, 'show_product_gallery' ), 30 );
}