我正在尝试用自己的方法覆盖插件类。
插件类是
function yith_woocompare_constructor() {
// stuff here
}
add_action( 'plugins_loaded', 'yith_woocompare_constructor' );
所以在我的functions.php中我试着这样做
remove_action( 'plugins_loaded', 'yith_woocompare_constructor', 0 );
// now add your own filter
add_action( 'plugins_loaded', 'new_yith_woocompare_constructor', 0 );
function new_yith_woocompare_constructor()
{
// my stuff here
}
但它似乎没有起作用,我做错了什么?
答案 0 :(得分:0)
默认优先级为10,但您使用的是0.在您的版本中,您实际上并未删除该操作。
此外,根据您的插件加载的点,无论如何都无法正常工作。
试试这个。
function wpse_plugins_loaded() {
remove_action( 'plugins_loaded', 'yith_woocompare_constructor' );
add_action( 'plugins_loaded', 'new_yith_woocompare_constructor' );
}
add_action( 'plugins_loaded', 'wpse_plugins_loaded', 5 );
function new_yith_woocompare_constructor() {
}
在这个例子中,我们正在等待加载所有插件以删除'yith_woocompare_constructor'动作。我们在加载优先级为5的插件上调用remove_action。这意味着该操作将在运行之前被删除(在10上),然后将其替换为自定义函数。
答案 1 :(得分:0)
你可以通过mu-plugins来实现。
创建目录名称
与插件文件夹和文件夹创建文件并行的mu-plugins wp-plugin-extended.php ,如果你的名字是 wp-plugin.php 并做代码
"localhost"