【问题标题】:How to add custom hooks to a custom plugin for Woocommerce如何将自定义挂钩添加到 Woocommerce 的自定义插件
【发布时间】:2018-11-30 20:33:00
【问题描述】:

我们已经为 Woocommerce 支付集成开发了一个自定义插件,我们需要在我们的插件文件中添加 woocommerce 钩子,不要将其包含在主题文件夹的function.php中。

我们如何将自定义挂钩添加到我们可以从 function.php 文件调用的插件中?有什么解决方法吗?
(当我们在 wordpress 主题的 function.php 文件中添加自定义 woocommerce 钩子和操作代码时,代码可以正常工作,但我们需要在自定义插件文件中使用它。)

任何帮助将不胜感激。

【问题讨论】:

    标签: php wordpress plugins woocommerce hook-woocommerce


    【解决方案1】:

    有两种钩子:动作钩子和过滤器钩子。

    动作钩子就像某些代码中的一扇门或一扇门,允许您在特定代码位置运行一些自定义代码。当处理该门或大门的代码运行时,它将被执行或“触发”。 所以它是基于事件的。

    过滤钩子与动作钩子有点不同。它们不用于触发某些自定义代码(不是基于事件的)。它们允许更改或操作一些现有的代码值,如字符串、数组、对象……所以过滤器钩子总是以最小的一个参数被操作,并且将总是返回那个被操作的参数.


    在插件中创建自定义钩子:

    1) 对于动作挂钩: do_action() Wordpress 函数

    do_action('woocommerce_my_custom_action', $some_variable, $another_variable );
    

    2) 对于过滤器挂钩: apply_filters() Wordpress 函数(其中 $value 是被操纵的参数)

    $value = apply_filters('woocommerce_my_custom_action', $value, $some_variable, $another_variable );
    

    互联网上有很多关于钩子的文档、教程和资源

    Wordpress filter Vs. action

    what is difference between action hook and filter hook in wordpress?

    Wordpress Coding a custom action hook

    【讨论】:

      【解决方案2】:

      你的插件应该在它自己的 php 文件中有它自己的函数,听起来你好像是在将代码粘贴到主题的 function.php 文件中?并且在主题更新时被覆盖?这是你在做的吗?

      请阅读 wordpress 插件开发文档。 https://developer.wordpress.org/plugins/intro/

      如果您的插件需要其他插件,有几种方法可以让用户首先激活其他插件: https://wordpress.stackexchange.com/questions/127818/how-to-make-a-plugin-require-another-plugin

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-23
        • 2014-10-19
        • 1970-01-01
        • 2022-01-25
        • 2012-07-08
        • 2014-01-08
        • 2020-04-07
        • 2019-10-12
        相关资源
        最近更新 更多