web-dev-qa-db-fra.com

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

Comment récupérer l'ID de commande dans WooCommerce?

15
moslem

ça a marché. Je viens de le modifier

global $woocommerce, $post;

$order = new WC_Order($post->ID);

//to escape # from order id 

$order_id = trim(str_replace('#', '', $order->get_order_number()));
26
Dip

C'est une question assez ancienne maintenant, mais quelqu'un peut venir ici chercher une réponse:

echo $order->id;

Cela devrait renvoyer l'ID de commande sans "#".

EDIT (fév/2018)

La manière actuelle d'y parvenir est d'utiliser:

$order->get_id();
30
Elvis Fernandes

Je ne l'ai pas testé et je ne sais pas si vous en avez besoin, mais:

$order = new WC_Order(post->ID);
echo $order->get_order_number();

Laissez-moi savoir si cela fonctionne. Je crois que le numéro de commande fait écho avec le "#" mais vous pouvez le fractionner si vous n'avez besoin que du numéro.

11
rgdesign

Depuis woocommerce 3.0

$order->id;

ne fonctionnera pas, il générera un avis, utilisez la fonction getter:

$order->get_id();

Il en va de même pour les autres objets de woocommerce comme procut.

3
Mindaugas Dobilas
$order = new WC_Order( $post_id ); 

Si vous

echo $order->id;

vous recevrez alors l'identifiant de la publication à partir de laquelle la commande est effectuée. Comme vous l'avez déjà, ce n'est probablement pas ce que vous voulez.

echo $order->get_order_number();

renverra l'identifiant de la commande (avec un # devant). Pour se débarrasser du #,

echo trim( str_replace( '#', '', $order->get_order_number() ) );

selon la réponse acceptée.

3
piersb