Récupérer tous les items de la commande

Étape 1

Voici un exemple clair et fonctionnel pour WordPress + WooCommerce permettant :
• D’utiliser un paramètre GET (ex : ?order_id=123)
• D’exécuter dans un init hook
• De récupérer tous les items de la commande
• D’afficher les métas de chaque item

				
					<?php 

add_action('init', 'afficher_items_commande_via_get');
function afficher_items_commande_via_get() {

    // Vérifie si order_id est présent dans l’URL
    if ( isset($_GET['order_id']) && is_admin() ) return; // éviter en admin
    if ( ! isset($_GET['order_id']) ) return;

    $order_id = intval($_GET['order_id']);
    if (!$order_id) return;

    $order = wc_get_order($order_id);
    if (!$order) {
        echo "Commande introuvable.";
        exit;
    }

    echo "<h2>Commande #{$order_id}</h2>";

    // Récupération des items
    foreach ($order->get_items() as $item_id => $item) {

        echo "<p><strong>Produit :</strong> " . $item->get_name() . "</p>";
        echo "<p><strong>Qté :</strong> " . $item->get_quantity() . "</p>";
        echo "<p><strong>Total :</strong> " . wc_price($item->get_total()) . "</p>";

        // Métadonnées de l’item
        $metas = $item->get_meta_data();
        if (!empty($metas)) {
            echo "<ul>";
            foreach ($metas as $meta) {
                echo "<li><strong>" . $meta->key . "</strong> : " . $meta->value . "</li>";
            }
            echo "</ul>";
        }

        echo "<hr>";
    }

    exit; // pour afficher directement hors thème
}