使用 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 的地址。

资源分享 本站提供不断更新优质资源,敬请收藏关注
玄武新动力 » 使用 woocommerce_api_(action) Action 钩子添加自定义 URL 到 WooCommerce

提供最优质的资源集合

立即查看 了解详情