【问题标题】:Override a plugin class覆盖插件类
【发布时间】:2017-07-14 01:41:31
【问题描述】:

我正在尝试用我自己的插件类覆盖。

插件类是

  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 
     }

但它似乎没有工作,我做错了什么?

【问题讨论】:

  • remove_action 的返回值是什么?
  • remove_action 返回真假,值是多少?
  • 嗯,我应该如何检查这个?可能是默认值,除了上面的那些行之外,我没有设置任何其他内容
  • 回声? $_SESSION["friend"] = remove_action(...); ?或者看这里:fuelyourcoding.com/simple-debugging-with-wordpress
  • 嗯,添加这个echo $_SESSION["friend"] = remove_action( 'plugins_loaded', 'woocommerce_ssys_recently_viewed_init');后返回1但我不知道它是否正确;)

标签: php wordpress plugins


【解决方案1】:

默认优先级为 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 上)被删除,然后用自定义函数替换它。

【讨论】:

  • 它没有改变任何东西;(我检查了if (! remove_action( 'plugins_loaded', 'yith_woocompare_constructor') ) { echo 'FAILED to remove action<br/>';这样的值并且正在显示失败
  • 子主题functions.php我只是不知道,我确实覆盖了其他插件没有任何问题,但我就是不能这个
【解决方案2】:

你可以通过 mu-plugins 来做到这一点。

创建目录名

mu-plugins 平行于 plugins 文件夹并在文件夹中创建文件 wp-plugin-extended.php ,如果您的 pluing 名称是 wp-plugin.php 并做代码

function yith_woocompare_constructor() {
           // stuff here

 }
add_action( 'plugins_loaded', 'yith_woocompare_constructor' );

【讨论】:

    猜你喜欢
    • 2015-05-17
    • 2019-12-21
    • 1970-01-01
    • 2021-09-11
    • 2020-12-08
    • 2018-05-15
    • 2015-08-27
    • 1970-01-01
    相关资源
    最近更新 更多