FOX - Currency Switcher for WooCommerce

WCMP - WC marketplace

URL del plugin: https://wc-marketplace.com/
  • En el archivo functions.php de tu tema hijo actual, agrega el siguiente código:
    add_filter('vendor_commission_amount', function ($amount, $product_id, $variation_id, $item, $order_id, $item_id) {
        if (class_exists('WOOCS')) {
            global $WOOCS;
            $_order_currency = get_post_meta($order_id, '_order_currency', true);
            $order_rate = get_post_meta($order_id, '_woocs_order_rate', true);
            $currencies = $WOOCS->get_currencies();
            if (!$order_rate) {
                if (isset($currencies[$_order_currency])) {
                    $order_rate = $currencies[$_order_currency]['rate'];
                }
            }
            if ($order_rate) {
                $amount = $WOOCS->back_convert($amount, $order_rate, 2);
            }
        }
        return $amount;
    }, 99, 6);
    
    (Esto solo mantendrá las comisiones en una moneda)
  • Para convertir correctamente el monto de los pedidos. En el archivo - "wp-content\plugins\dc-woocommerce-multi-vendor\classes\class-wcmp-vendor-details.php" cambia el código de a
    $sales_total_item = $order->get_total();
    $discount_amount_item = $order->get_total_discount();
    if (class_exists('WOOCS')) {
        global $WOOCS;
        $_order_currency = get_post_meta($order->get_id(), '_order_currency', true);
        $order_rate = get_post_meta($order->get_id(), '_woocs_order_rate', true);
        $currencies = $WOOCS->get_currencies();
        if (!$order_rate) {
            if (isset($currencies[$_order_currency])) {
                $order_rate = $currencies[$_order_currency]['rate'];
            }
        }
        if ($order_rate) {
            $sales_total_item = $WOOCS->back_convert($sales_total_item, $order_rate, 2);
            $discount_amount_item = $WOOCS->back_convert($discount_amount_item, $order_rate, 2);
        }
    }
    $sales_total += $sales_total_item;
    $discount_amount += $discount_amount_item;
    
  • En el archivo - "wp-content\plugins\dc-woocommerce-multi-vendor\templates\vendor-dashboard\vendor-orders\views\html-order-item.php" cambia el código:
    if (class_exists('WOOCS')) {
        global $WOOCS;
        $WOOCS->reset_currency();
    }
    echo '<div class="commission">' . wc_price($commission) . '</div>';
    if (class_exists('WOOCS')) {
        $_order_currency = get_post_meta($order->get_id(), '_order_currency', true);
        $WOOCS->set_currency($_order_currency);
    }
  • Y en el archivo - "wp-content\plugins\dc-woocommerce-multi-vendor\classes\class-wcmp-vendor-details.php" - agrega el código:
    if (class_exists('WOOCS')) {
        global $WOOCS;
        $WOOCS->reset_currency();
    }
  • Y en el archivo - "wp-content\plugins\dc-woocommerce-multi-vendor\classes\class-wcmp-post-commission.php" - agrega el código:
    if (class_exists('WOOCS')) {
        global $WOOCS;
        $WOOCS->reset_currency();
    }
  • + agrega el código:
    if (class_exists('WOOCS')) {
        global $WOOCS;
        $WOOCS->reset_currency();
    }
  • también en el mismo archivo agrega el código:
    if (class_exists('WOOCS')) {
        global $WOOCS;
        $WOOCS->reset_currency();
    }