get_option
fires hooks itself 因此,您触发了一个无限循环(或者类似的循环,如果不是无限的话)。您的回拨电话get_option
, 触发get_option
. 每个钩子都会再次触发回调get_option
触发get_option
. 等等
在回调方法之外的构造函数中获取选项值。这样,当您的回调运行时,它会无意中触发自身。概念验证:
class WP_Test_Logging_Plugin {
static $data = array();
public function __construct() {
$this->data = get_option(\'option_name\', 1);
add_action( \'all\', array( $this, \'log_to\' ) );
}
public function log_to() {
$hook = current_filter();
var_dump($hook,$this->data);
}
}
$ntlp = new WP_Test_Logging_Plugin();