Je dois obtenir la clé d'abonnement d'un abonnement particulier pour passer à une fonction personnalisée. J'ai référencé la documentation où il montre comment obtenir la clé, mais je n'ai pas réussi à l'intégrer dans mon code. Ainsi, ce que fait mon code, c’est que lorsqu’un renouvellement est déclenché, j’ai un lien avec Processus_abonnement_payment avec ma fonction. Donc, ce code est exécuté uniquement lorsqu'un renouvellement d'abonnement est payé. Le code est ci-dessous.
La documentation est ici: https://docs.woothemes.com/document/subscriptions/develop/functions/management-functions/
Code ici (qui réside dans 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
}
Toute aide est fortement appréciée. Je suis très nouveau sur PHP, alors excusez mon ignorance.
J'ai compris la réponse, alors j'ai pensé la poster. Mon code ressemble à ceci maintenant et cela fonctionne:
add_action( 'processed_subscription_payment', 'updatedays', 10, 2 );
function updatedays($user_id, $subscription_key)
{
//do what I need to the sub key
}
Il faut vraiment qu'il y ait plus d'exemples dans la documentation de Woothemes.
Tant que vous pouvez obtenir un identifiant de commande, vous pouvez utiliser ce code.
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;