【问题标题】:When exactly woocommerce/wordpress hooks are called?何时调用 woocommerce/wordpress 挂钩?
【发布时间】:2020-10-25 15:16:09
【问题描述】:

我知道 Wordpress 和 Woocommerce 插件中有数百个动作钩子可用,但最让我困惑的是:它们何时被调用?

对于某些钩子,互联网上有一些可用的信息,但对于其中的许多,我没有看到任何可用的信息。

例如,当我检查一些自定义插件的代码时,我看到了以下钩子:

add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
add_action( 'woocommerce_settings_api_form_fields_cod', array( $this, 'extend_cod' ) );
add_action( 'woocommerce_settings_api_sanitized_fields_cod', array( $this, 'clean_up_settings' ) );
add_action( 'woocommerce_delete_shipping_zone', array( $this, 'clean_up_gateway' ) );

我的问题是在哪里可以获得 Woocommerce/Wordpress 的所有钩子列表? 在上面的示例中,以 'woocommerce_' 开头的钩子是标准钩子的一部分还是特定于插件的自定义钩子? 是否可以创建自定义挂钩?

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce hook-wordpress


    【解决方案1】:

    2 kinds of hooks:动作钩子和过滤器钩子。

    通过do_action()apply_filters() 函数添加/创建挂钩。

    do_action()apply_filters() 所在的代码运行时会触发挂钩。

    您可以使用add_action()add_filter() 将回调函数附加到现有挂钩。

    注意:还有很多未记录的钩子,就像大多数各种复合钩子一样。


    相关:

    【讨论】:

    • 感谢您的回答。是否像“add_action”用于注册钩子而“do_action”用于执行与钩子关联的函数?在上面的示例中,当调用钩子“woocommerce_settings_api_form_fields_cod”时?
    • @user2679476 它会在它所在的代码被执行时被调用……所以如果有任何回调函数附加到那个钩子上,这些函数也会被执行。例如,每次订单状态更改时都会触发操作挂钩woocommerce_order_status_changed,因为它位于status_transition()WC_Order 方法中。如果此答案回答了您最初的问题,请accept 回答,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 2021-12-07
    • 2021-10-01
    相关资源
    最近更新 更多