Php 从wordpress类内的函数中删除操作返回false
我试图从类内部的Php 从wordpress类内的函数中删除操作返回false,php,wordpress,Php,Wordpress,我试图从类内部的init过滤器中删除一个函数,并根据我所读的内容进行了尝试 wp content/plugins/plugin_name/includes/class-wps-deals-public-pages.php class Wps_Deals_Public_Pages { public function wps_deals_register() { // some content here } public function add_hooks() {
init
过滤器中删除一个函数,并根据我所读的内容进行了尝试
wp content/plugins/plugin_name/includes/class-wps-deals-public-pages.php
class Wps_Deals_Public_Pages {
public function wps_deals_register() {
// some content here
}
public function add_hooks() {
add_action( 'init', array( $this, 'wps_deals_register' ), 100 );
}
}
plugin wp content/plugins/plugin_name/deals-engine.php的主文件
require_once( WPS_DEALS_DIR . '/includes/class-wps-deals-public-pages.php' );
$wps_deals_public = new Wps_Deals_Public_Pages();
$wps_deals_public->add_hooks(); // add_hooks is getting called here
wp content/themes/my\u theme/overriding\u template\u覆盖\u插件\u模板/create\u account.php
global $wps_deals_message, $wps_deals_public;
var_dump(remove_action( 'init', array( 'Wps_Deals_Public_Pages', 'wps_deals_register' ), 1000 ));
var\u dump()
返回false而不是true,经过测试,确实没有从钩子中删除函数,我也尝试过
var_dump(remove_action( 'init', array( $wps_deals_public, 'wps_deals_register' ), 1000 ));
$wps_deals_public
=>这是指定实例化类中的对象wps_deals_public_Pages
确定了,这是因为优先级和第二个工作良好:var_dump(remove_action('init',array($wps_deals_public,'wps_deals register'),100))
如果我将$wps\u deals\u public
替换为它返回false的类,则此函数返回true,odd。但问题是,它现在变成了真的,只是它没有删除它。从钩子中,我得到相同的消息,而不是从自定义函数中得到消息。