WOOCS - Cambiador de divisas de WooCommerce

Cómo adaptar los informes de woocommerce por fecha para el conmutador de divisas

WooCommerce Currency Switcher no puede funcionar de forma predeterminada con los informes de WooCommerce ya que no hay ganchos allí y no es posible conectarlos allí. Pero después de algunas investigaciones del código de woocommerce, encontré una forma de adaptar los informes para pedidos con diferentes monedas (funciona solo para Informes-> Pedidos -> "Ventas por fecha"):

  • abrir documento wp-content\plugins\woocommerce\includes\admin\reports\class-wc-admin-report.php
  • encontrar allí la función pública get_order_report_data
  • en el mismo extremo de la función antes de retorno de código $result; código de caída:
    $ resultado = aplicar_filtros ('woocs_reports_get_order_report_query', $ resultado, $ argumentos);
  • abiertas functions.php archivo de su tema de wp actual y en la misma parte inferior del archivo suelte el siguiente código:
    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; $ rango = '7 días' ; if (isset ($ _ GET ['rango'])) {$ rango = $ _GET ['rango'];} $ fecha_inicio = ''; $ fecha_final = fecha ('Ymd 23:59:59'); cambiar ( $ rango) {caso 'personalizado': $ fecha_inicio = $ _GET ['fecha_inicio']; descanso; caso '7día': $ fecha_inicio = fecha ('Ymd 00:00:00', hora () - 7 * DÍA_EN_SEGUNDOS); descanso; caso 'mes': $ fecha_inicio = fecha ('Ym-01 00:00:00'); descanso; caso 'año': $ fecha_inicio = fecha ('Y-01-01 00:00:00'); descanso; predeterminado: $ fecha_inicio = fecha ('Ymd 00:00:00', hora () - 7 * DÍA_IN_SEGUNDOS); descanso;} $ estado_orden = "wc-".  implosión ('"," wc-', $ args ['estado_orden']); // *** $ sql = $ wpdb-> prepare ('SELECCIONAR ID DE'.  $ wpdb-> publicaciones.  'DONDE post_type =% sy post_status IN ("'.  $ order_status.