在订阅到期时挂钩woocommerce

时间:2016-02-24 20:34:14

标签: wordpress woocommerce

如何在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()函数直接。

我应该把它放在哪里让它工作

由于

2 个答案:

答案 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处有更多钩子(和这个钩子)