WOOCS - Sélecteur de devise WooCommerce

Comment adapter les rapports woocommerce par date pour le sélecteur de devises

WooCommerce Currency Switcher ne peut pas fonctionner par défaut avec les rapports WooCommerce car il n'y a pas de crochets là-bas et il n'est pas possible de s'y connecter. Mais après quelques recherches sur le code woocommerce, j'ai trouvé 1 moyen d'adapter les rapports pour les commandes avec différentes devises (fonctionne uniquement pour les rapports-> les commandes-> "Ventes par date"):

  • fichier ouvert wp-content\plugins\woocommerce\includes\admin\reports\class-wc-admin-report.php
  • trouver la fonction publique get_order_report_data
  • à la même extrémité de la fonction avant retour de code $result; déposer le code :
    $result = apply_filters('woocs_reports_get_order_report_query', $result, $args);
  • ouvert functions.php fichier de votre thème wp actuel et sur le même bas du fichier, déposez le code suivant :
    add_filter('woocs_reports_get_order_report_query', function($result, $args) { if (is_array($result) AND isset($result[0]->total_sales)) { global $wpdb; global $ WOOCS; $range = '7day' ; if (isset($_GET['range'])) { $range = $_GET['range']; } $start_date = ''; $end_date = date('Ymd 23:59:59'); switch ( $range) { case 'custom' : $start_date = $_GET['start_date'] ; pause ; case '7day' : $start_date = date('Ymd 00:00:00', time() - 7 * DAY_IN_SECONDS); pause ; cas 'mois' : $start_date = date('Ym-01 00:00:00'); pause ; cas 'année' : $start_date = date('Y-01-01 00:00:00'); pause ; par défaut : $start_date = date('Ymd 00:00:00', time() - 7 * DAY_IN_SECONDS); pause ; } $order_status = "wc-" .  imploser('","wc-', $args['order_status']); //*** $sql = $wpdb->prepare('SELECT ID FROM ' .  $wpdb->posts .  ' WHERE post_type=%s AND post_status IN("' .  $order_status .