2017-10-11 8 views
1

Comment puis-je obtenir l'ID de la dernière commande?Comment puis-je obtenir le dernier ID de commande dans Woocommerce

C'est ce que j'ai maintenant, mais l'identifiant (426) doit être dynamiquement le dernier identifiant de commande.

j'ai essayé:

global $post; 
$order_id = $post->ID; 

$order = new WC_Order($order_id); 
$order_details = $order->get_data(); 

Mais cela n'a pas fonctionné.

Quelqu'un peut-il m'aider?

Répondre

2

est ici une fonction personnalisée qui renverra le dernier numéro de commande:

function get_last_order_id(){ 
    global $wpdb; 
    $statuses = array_keys(wc_get_order_statuses()); 
    $statuses = implode("','", $statuses); 

    // Getting last Order ID (max value) 
    $results = $wpdb->get_col(" 
     SELECT MAX(ID) FROM {$wpdb->prefix}posts 
     WHERE post_type LIKE 'shop_order' 
     AND post_status IN ('$statuses') 
    "); 
    return reset($results); 
} 

Code va dans le fichier function.php de votre thème enfant actif (thème actif ou dans un fichier plug-in).


USAGES(exemple):

$latest_order_id = get_last_order_id(); // Last order ID 
$order = wc_get_order($latest_order_id); // Get an instance of the WC_Order oject 
$order_details = $order->get_data(); // Get the order data in an array 

// Raw output test 
echo '<pre>'; print_r($order_details); echo '</pre>'; 

a été testée et travail.

+0

Merci pour la réponse rapide, cela a fonctionné comme prévu. –