Comment puis-je obtenir L'ID de commande dans WooCommerce?

Comment puis-je récupérer L'ID d'ordre dans WooCommerce?

13
demandé sur Michael 2014-02-07 20:37:53

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()));
19
répondu Dip 2015-01-15 13:01:53

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();
22
répondu Elvis Fernandes 2018-04-17 17:14:08

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.

10
répondu rgdesign 2014-02-07 18:15:41
$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.

3
répondu piersb 2015-11-05 16:59:58

à 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.

0
répondu Mindaugas Dobilas 2018-02-14 08:46:06