如何在woocommerce(wordpress)中创建一个Hook,以便在订阅到期时触发功能?
像这样的东西
add_action('woocommerce_subscription_expired', 'my_function', 10, 1);
function my_function($order_id) {
echo "yeahhhh";
}
更新
我在开发者doc中找到了以下
行动:' subscription_expired'
参数:$ user_id Integer用户的ID 订阅已过期。 $ subscription_key String的关键字 刚刚在用户帐户上过期的订阅。
描述:订阅到达其结尾时触发 期限,如果在购买时在订阅上设置了长度。 此事件可能由WooCommerce订阅触发 安排一个cron-job来使每个订阅到期或通过付款到期 可以调用的网关扩展 WC_Subscriptions_Manager :: expire_subscription()函数直接。
我应该把它放在哪里让它工作
由于
答案 0 :(得分:4)
看起来你几乎就在那里。您只需要使用Subscription的动作挂钩并传递正确的参数。这似乎是一个开始:
add_action( 'subscription_expired', 'my_function', 10, 2 );
function my_function( $user_id, $subscription_key ) {
$sub= wcs_get_subscription_from_key( $subscription_key );
// do something
}
答案 1 :(得分:0)
wcs_get_subscription_from_key
从2.0版开始已被弃用。
您现在可以使用:
add_action( 'woocommerce_subscription_status_expired', 'my_on_subscription_expired', 10 );
function my_on_subscription_expired( $subscription ) {
// do something
}
Subscriptions Action Reference处有更多钩子(和这个钩子)