Afficher les commandes woocommerce en dehors de la page mon compte facilement avec un shortcode

Vous êtes en train de créer un site e-commerce pour l’un de vos clients, ou pour vous-même, et vous avez besoin d’afficher l’historique des commandes par utilisateurs en dehors de la page “Mon compte” de Woocommerce.
Il existe des modules payants, mais j’ai la solution gratuite pour ça.

Première étape

Insérer ce code dans votre fichier “functions.php” de votre thème enfant

				
					function woo_order_history( $atts ) {
extract( shortcode_atts( array(
    'order_count' => -1
), $atts ) );

ob_start();
$customer_orders = wc_get_orders( apply_filters( 'woocommerce_my_account_my_orders_query', array(
    'customer' => get_current_user_id(),
    'page'     => $current_page,
    'paginate' => true,
) ) );
wc_get_template(
    'myaccount/orders.php',
    array(
        'current_page'    => absint( $current_page ),
        'customer_orders' => $customer_orders,
        'has_orders'      => 0 < $customer_orders->total,
    )
);
return ob_get_clean();
}
add_shortcode('woocommerce_history', 'woo_order_history');

				
			

Avec ce code, nous avons créé un shortcode, qui est [woocommerce_history], qui devra être inséré dans la page où vous souhaitez montrer les commandes de l’utilisateur. 

Deuxième étape

Il suffit d’insérer le widget “Code court” et de copier le shortcode à l’intérieur de la page souhaitée.
Avec Elementor, cela est très simple.

Il est possible de l’ajouter avec n’importe quel constructeur de pages ou directement dans votre page PHP.

Et normalement, vous devriez voir apparaitre l’historique des commandes.

Troisième étape

Lorsque les commandes s’affichent, il est possible de consulter le détail de chacune.

Étant donné que vous avez copié le shortcode en dehors de la page “mon compte”, vous ne pouvez pas visualiser le détail de la commande.
Cependant une solution existe.

Le lien “Voir” redirige automatiquement vers la page d’historique de commande de Woocommerce. Vous trouverez le slug de cette page ici.

Donc pour que ce lien fonctionne, vous devez avoir obligatoirement la page “Mon compte” valide avec le shortcode [woocommerce_my_account] à l’intérieur. Sinon l’historique ne fonctionnera pas.

Testé sur WordPress 6.0.2 et Woocommerce 6.9.2 

Un nouveau projet WordPress ? Besoin d’aide ?

Contactez-moi ou visitez mon site et je me ferais un plaisir de vous aider. 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Suivez-moi

Les derniers articles

Votre demande a bien été envoyé, merci.

Le délai de réponse peut varier de 24h à 48h.
Merci de votre compréhension

Besoin d'aide pour mon projet

Sujet :
Afficher les commandes woocommerce en dehors de la page mon compte facilement avec un shortcode