如何使用WooCommerce订阅获取订阅密钥或ID 时间:2016-03-31 作者:nerdalert 我需要获取特定订阅的订阅密钥才能传递到自定义函数中。我引用了文档,其中显示了如何获取密钥,但我未能将其集成到代码中。因此,我的代码所做的是,当触发续订时,我会使用我的函数挂接到已处理的\\u subscription\\u付款。因此,此代码仅在支付订阅续订时运行。代码如下。文档位于此处:https://docs.woothemes.com/document/subscriptions/develop/functions/management-functions/此处的代码(位于functions.php中):add_action( \'processed_subscription_payment\', \'callupdater\' ); function callupdater() { //need to get the subscription key here to pass to updatedays() $key = ..... updatedays(key); } function updatedays($subscription_key) { //do some tasks with the key } 非常感谢您的帮助。我对PHP很陌生,请原谅我的无知。 2 个回复 最合适的回答,由SO网友:nerdalert 整理而成 我找到了答案,所以我想我应该把它贴出来。我的代码现在看起来是这样的,并且可以正常工作:add_action( \'processed_subscription_payment\', \'updatedays\', 10, 2 ); function updatedays($user_id, $subscription_key) { //do what I need to the sub key } 不过,在Woothemes文档中确实需要更多的例子。。 SO网友:Diaz Adhyatma 只要您可以获得订单Id,就可以使用此代码。global $woocommerce; $order_id=12345;//PUT YOUR ORDER ID HERE $order = new WC_Order( $order_id ); foreach ( WC_Subscriptions_Order::get_recurring_items( $order ) as $order_item ) { $subscription_key = WC_Subscriptions_Manager::get_subscription_key( $order->id, WC_Subscriptions_Order::get_items_product_id( $order_item ) ); } echo $subscription_key; 文章导航