覆盖 Wordpress 插件钩子

Override Wordpress plugin hook

我正在使用 Stripe 的 Wordpress 插件,它有一个名为:

的挂钩操作
do_action( 'wc_stripe_checkout_receipt_page_before_form' ); 

此操作位于 Stripe 付款表格上方,我想在此处显示一些文本,那么如何利用此挂钩?

可以在下面第 541 行的源代码中找到此操作

https://github.com/woocommerce/woocommerce-gateway-stripe/blob/master/includes/class-wc-gateway-stripe.php

这是我试过的

remove_action('wc_stripe_checkout_receipt_page_before_form');
add_action('foobar', 'wc_stripe_checkout_receipt_page_before_form');

function foobar(){
    echo 'foo';
}

产生以下警告,但不显示我的回显 'foo'

Missing argument 2 for remove_action(),

你的错误告诉你你需要知道的一切。
remove_action 至少接受 2 个参数 - 动作名称和与其挂钩的函数名称。
在你的情况下,你不应该删除它,而是挂钩它。你做错了什么。 add_action 的第一个参数是您尝试挂钩的操作(在您的情况下为 wc_stripe_checkout_receipt_page_before_form),第二个参数是应在该操作上执行的函数(在您的情况下为 foobar)。正确的叫法:

add_action('wc_stripe_checkout_receipt_page_before_form', 'foobar');

这样,您的 'foo' 将显示在 之前 表单,因为这是调用操作的地方。