覆盖Wordpress插件钩子

时间:2018-04-28 14:07:07

标签: wordpress 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(),

1 个答案:

答案 0 :(得分:3)

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

add_action('wc_stripe_checkout_receipt_page_before_form', 'foobar');

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