wordpress - 覆盖 Wordpress 插件挂钩
问题描述
我正在为 Stripe 使用 Wordpress 插件,它有一个名为:
do_action( 'wc_stripe_checkout_receipt_page_before_form' );
此操作位于 Stripe 付款表单上方,我想在此处显示一些文本,那么如何利用此钩子?
可以在下面的第 541 行的源代码中找到此操作
这是我尝试过的
remove_action('wc_stripe_checkout_receipt_page_before_form');
add_action('foobar', 'wc_stripe_checkout_receipt_page_before_form');
function foobar(){
echo 'foo';
}
这会产生以下警告,但不显示我的 echo 'foo'
Missing argument 2 for remove_action(),
解决方案
你的错误告诉你你需要知道的一切。
remove_action
至少需要 2 个参数 - 与之挂钩的操作名称和函数名称。
在你的情况下,你不应该删除它,而是挂钩它。你做错了什么。for 的第一个参数add_action
是您尝试挂钩的操作(wc_stripe_checkout_receipt_page_before_form
在您的情况下),第二个参数是应该在该操作上执行的功能(foobar
在您的情况下)。正确的调用:
add_action('wc_stripe_checkout_receipt_page_before_form', 'foobar');
这样,您的“foo”将显示在表单之前,因为那是调用操作的地方。
推荐阅读
- javascript - Typescript/Javascript:从字符串参数获取对象属性?
- linux - Inotifywait 在 while 循环中无法按预期工作
- javascript - 为什么数组没有改变?
- perl - Perl Mail::IMAPClient 电子邮件纪元时间的日期
- c# - 缺少默认构造函数
- perl - 使用 Perl 的 WWW::Mechanize 发送自定义 cookie(并查看自然设置的 cookie)
- javascript - 如何使用响应式菜单防止正文滚动
- r - 在“R”中使用“ggvenn”在维恩图中丢失集合
- javascript - 存储具有到期日期的会话数据
- swift - SwiftUI:无法访问 TabView 中的编辑模式