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.3.0 et Woocommerce 8.1.1 

Un nouveau projet WordPress ? Besoin d’aide ?

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

Un nouveau projet web ?

Un nouveau site vitrine ou e-commerce ?
Ou même vous souhaitez faire la refonte de votre site ?

Dire merci, c'est bien aussi.

Partagez cet article

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x

Vous avez une question ?

Vous avez une question sur un article ?
Découvert un bug inexpliqué ? 😱
Ou vous avez des articles à me soumettre ? 🤔
N’hésitez pas à me contacter, je serais ravi de vous aider.

Parce que chaque projet est unique !

Pour une meilleure compréhension, merci de décrire au maximum votre projet, vos besoins, vos attentes…
Vous préférez en parler au téléphone, n’hésitez pas, je suis à votre écoute : 06 35 31 45 64

Tes modifications ont bien été sauvegardées

Bravo !

Vous êtes maintenant inscrit.

Votre réponse a bien été publiée

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

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

J'ai besoin d'aide pour mon projet !

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