Comment puis-je obtenir L'ID de commande dans WooCommerce?
5 réponses
ça a marché. Juste modifié
global $woocommerce, $post;
$order = new WC_Order($post->ID);
//to escape # from order id
$order_id = trim(str_replace('#', '', $order->get_order_number()));
C'est un assez vieux maintenant question, mais quelqu'un peut venir ici à la recherche d'une réponse:
echo $order->id;
ceci devrait retourner l'id de l'ordre sans "#".
MODIFIER (fév/2018)
la façon actuelle d'accomplir ceci est en utilisant:
$order->get_id();
je n'ai pas tester et je sais pas où vous en avez besoin, mais:
$order = new WC_Order(post->ID);
echo $order->get_order_number();
faites-moi savoir si ça marche. Je crois que le nombre d'ordre fait écho avec le " # " mais vous pouvez diviser que si seulement besoin du nombre.
$order = new WC_Order( $post_id );
Si vous
echo $order->id;
vous recevrez alors l'id du poste à partir duquel la commande est passée. Comme tu l'as déjà, ce n'est probablement pas ce que tu veux.
echo $order->get_order_number();
renvoie l'id de la commande (avec un # devant). Pour se débarrasser de la #,
echo trim( str_replace( '#', '', $order->get_order_number() ) );
selon la réponse acceptée.
à partir de woocommerce 3.0
$order->id;
ne fonctionne pas, il va générer avis, utiliser la fonction get:
$order->get_id();
il en va de même pour les autres objets woocommerce comme procut.