使用 woocommerce_api_(action) Action 钩子添加自定义

分类:后台开发 热度:

使用 woocommerce_api_(action) Action 钩子添加自定义 URL 到 WooCommerce

WooCommerce 的 woocommerce_api_(action)  Action 钩子可以让插件添加一个自定义回调到一个 URL 上面,当这个 URL 被访问的时候,自定义回调中的函数或方法就会执行,这个 API 在 WooCommerce 支付网关中会经常用到,除了支付网关,当 WooCommerce 与第三方服务交互需要接收第三方服务返回的数据时,我们也需要用到这个 API。关于这个 API 的详细信息可参考 WC_API 类文档。

回调 URL 的形式

在 WooCommerce 2.0 以前,我们可以用类似下面的网址访问自定义回调 URL。

http://yoursite.com/?wc-api=CALLBACK

在 WooCommerce 2.0 以后,  除了上面带参数的 URL,我们还可以以静态化的方式访问我们的回调。

http://yoursite.com/wc-api/CALLBACK/

添加一个自定义 URL

我们可以通过类似下面的代码添加一个自定义回调 URL:

add_action( 'woocommerce_api_callback', 'callback_handler' );

注意上面的钩子名称 “woocommerce_api_callback” 中的 “callback” 字符,这个就是我们自定义回调,独一无二的名称,会显示在 URL 参数里面,获取自定义回调 URL 的时候也需要用到这个名称。

执行完回调里面定义的操作之后,WooCommerce 会退出操作,当然,如果需要,我们也可以在退出操作之前跳转到其他 URL。

获取自定义回调 URL

我们可以通过一个 WC() 实例的一个方法获取上面自定义自定义的回调 URL。

WC()->api_request_url( 'wc_ezship_send_order' )

我们可以在开发 WooCommerce 支付网关或者其他服务的时候,通过上面的方法来获取自定义回调 URL 的地址。

上一篇:没有了 下一篇:网站加载 Waiting (TTFB) 时间过长的原因和解决办法
猜你喜欢
热门排行
精彩图文
  • 从PYTHON到LUA
    从PYTHON到LUA
    在码农世界里,有几个迷之争论:Vim/Emacs与IDE之争、Tab与Space之争、Windows与Linux(也包括macOS等)之争,诸如此类。任何一个争论都是莫名激烈、动不动就友
  • dedecms不自动生成HTML静态页处理办法
    dedecms不自动生成HTML静态页处理办法
    解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法 风十三 落伍首发 转载请注明作者和出处 1.如何修改默认发布为动态页; 这
  • 网站启用IPV6应注意的事项
    网站启用IPV6应注意的事项
    网站支持IPv6的步骤比较简单,基本上目前常用的软件,例如Apache、Postfix、dovecot等,都已经支持IPv4和IPv6双栈,只要服务商的设备提供IPv4和IPv6连接,这些软
  • 添加待审核文章数量气泡提醒到 WordPress 文章菜单
    添加待审核文章数量气泡提醒到 WordPress 文章菜单
    在为 WordPress 开发插件的时候,有时候我们需要添加一些消息提醒到后台菜单,类似主题插件升级或待审核评论提醒,可是 WordPress 并没有我们提供这样的接
  • 添加自定义通知消息数量气泡到 WordPress 管理工具
    添加自定义通知消息数量气泡到 WordPress 管理工具
    在上一篇文章添加待审核文章数量气泡提醒到 WordPress 文章菜单中,我为大家介绍了怎么添加通知消息数量气泡到 WordPress 后台的管理菜单中,在本文中,我