Obtenir des statistiques sur les modes de paiement de sa boutique WooCommerce

Ce code va vous permettre de créer un sous menu pour avoir des statistiques sur les modes de paiement utilisés sur votre boutique WooCommerce.

En effet, vous allez pouvoir filter en fonction d’une plage de date spécifique et obtenir un tableau qui indiquera le nombre de commande réalisée et les méthodes de paiement associées.

				
					<?php
/*
Plugin Name: WooCommerce Payment Methods Statistics
Description: Adds a submenu under WooCommerce for payment methods.
Version: 1.0
Author: <a href="https://josselynjayant.fr">Josselyn jayant</a> & <a href="https://wycan.fr">WYCAN</a>
*/

add_action('admin_menu', 'add_wc_payment_stats_submenu');

function add_wc_payment_stats_submenu(){
    add_submenu_page('woocommerce', 'Modes de paiement', 'Modes de paiement', 'manage_woocommerce', 'wc-payment-stats', 'display_wc_payment_stats');
}
function display_wc_payment_stats(){
    global $wpdb;

    echo '<h1>Statistiques des modes de paiement</h1>';

    // Ajout d'une ligne de texte
    echo '<p>Bien noter que seules les commandes qui ont le status "Terminée" seront prises en compte dans les statistiques.</p>';

    echo '<form method="post" style="margin-bottom: 20px;">';  // Ajout d'une marge en bas pour l'espacement
    echo 'Date de début: <input type="date" name="start_date">';
    echo 'Date de fin: <input type="date" name="end_date">';
    echo '<input type="submit" value="Afficher les statistiques">';
    echo '</form>';

    if(isset($_POST['start_date']) && isset($_POST['end_date'])){
        $start_date = $_POST['start_date'];
        $end_date = $_POST['end_date'] . ' 23:59:59';

        // Récupérez les statistiques pour la plage de dates sélectionnée
$query = $wpdb->prepare("
    SELECT pm1.meta_value as payment_method, COUNT(pm1.post_id) as total_orders
    FROM $wpdb->postmeta pm1
    JOIN $wpdb->postmeta pm2 ON pm1.post_id = pm2.post_id
    WHERE pm1.meta_key = '_payment_method'
    AND pm2.meta_key = '_completed_date' 
    AND pm2.meta_value >= %s AND pm2.meta_value <= %s
    GROUP BY pm1.meta_value
", $start_date, $end_date);

        $results = $wpdb->get_results($query);

        echo '<table border="1" cellpadding="10">
            <tr>
                <th>Méthode de paiement</th>
                <th>Nombre de commandes</th>
            </tr>';

        foreach ($results as $result) {
            echo '<tr>
                <td>' . esc_html($result->payment_method) . '</td>
                <td>' . esc_html($result->total_orders) . '</td>
            </tr>';
        }

        echo '</table>';
    }
}

				
			
Envie de laisser un commentaire ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Tu veux voir d'autres bouts de code ?

Afficher le poids total des produits dans le panier et commande

Ce code va nous permettre d'afficher le poids total des produits dans la page panier et commande de WooCommerce

ID de CSS personnalisé pour Elementor nested tabs

Ce script nous permettra d'exécuter une URL directement vers un onglet Elementor

Statistiques des commandes WooCommerce par pays

Ce plugin vous permet d'afficher rapidement les volumes de vente en fonction des pays.

Créer un menu déroulant d’une liste de Custom Post Type

Ce code va nous permettre d'afficher un menu déroulant qui liste tous les CPT présents dans notre ACF

Filtrer le nombre de commandes par pays

Mettre en place un sous menu qui nous permet de filtrer une plage de date et afficher le nombre de commandes en fonction des pays.

Incrémenter le prix en fonction de la quantité d’un produit

Ce code vous permettra de faire grossir le prix total de la fiche produit en fonction de la quantité selectionnée
ON DISCUTE ?

Une question sur WordPress ?
Un projet web à faire sous traiter par un freelance ?
Je suis votre homme !