当我将代码放到functions.php
从
开始add_action( 'woocommerce_order_status_completed', 'do_something' );
here is my code
有效!但是当我把它放在plugin
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
if ( ! class_exists( 'WC_Some_class' ) ) {
class WC_Some_class {
public function __construct() {
add_action( 'woocommerce_order_status_completed', 'do_something' );
}
script ...
}
}
// finally instantiate our plugin class and add it to the set of globals
$WC_Some_class = new WC_Some_class();
}
}
这不起作用。为什么?
答案 0 :(得分:3)
这是其中一个例子,通过删除代码并对删除密钥过于热心,导致丢失相当重要的信息。
然而,我会在黑暗中捅一下并假设你正在将函数从functions.php移到INTO这个类中。因此,你的add_action必须知道它需要调用类的函数(方法),而不是全局定义的函数。
尝试:
add_action( 'woocommerce_order_status_completed', array(&$this, 'do_something') );