• Resuelto bytecanarias

    (@bytecanarias)


    Hola comunidad.
    Quiero realizar una página donde los clientes puedan consultar el gasto de envío de su producto.
    Hay algún código o forma de solo poner la calculadora de Gastos de envío?

    */Compartir es vivir/*

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Moderador LGrusin

    (@lgrusin)

    No sé si este otro debate resuelve tu duda
    https://es.wordpress.org/support/topic/plugin-precio-por-escalas/

    Por favor, para la próxima pon un título más descriptivo y que tenga que ver con la pregunta.

    Un saludo

    Iniciador del debate bytecanarias

    (@bytecanarias)

    Gracias por la respuesta, pero creo que no es lo que busco, adjunto imagen de lo que quiero poner.
    En una página poner algo así:

    View post on imgur.com

    No se si Woocommerce tiene un Shortcode como muchos que tiene que al añadirlo en una página en blanco carge algo así.

    Respecto a la título es que no sabía como llamarlo o definirlo. Disculpas

    Moderador Fernando Tellado

    (@fernandot)

    He encontrado un plugin que te permite añadir el cálculo a la página de producto. Si lo que quieres es que se muestre en el carrito ya sabrás que el mismo WooCommerce te lo permite en los ajustes.

    El shortcode que se utiliza, si lo prefieres así, es WC_Shortcode_Cart::calculate_shipping();
    Que se genera en woocommerce/includes/shortcodes/class-wc-shortcode-cart.php

    public static function calculate_shipping() {
        try {
          WC()->shipping->reset_shipping();
    
          $country  = wc_clean( $_POST['calc_shipping_country'] );
          $state    = wc_clean( isset( $_POST['calc_shipping_state'] ) ? $_POST['calc_shipping_state'] : '' );
          $postcode = apply_filters( 'woocommerce_shipping_calculator_enable_postcode', true ) ? wc_clean( $_POST['calc_shipping_postcode'] ) : '';
          $city     = apply_filters( 'woocommerce_shipping_calculator_enable_city', false ) ? wc_clean( $_POST['calc_shipping_city'] ) : '';
    
          if ( $postcode && ! WC_Validation::is_postcode( $postcode, $country ) ) {
            throw new Exception( __( 'Please enter a valid postcode / ZIP.', 'woocommerce' ) );
          } elseif ( $postcode ) {
            $postcode = wc_format_postcode( $postcode, $country );
          }
    
          if ( $country ) {
            WC()->customer->set_location( $country, $state, $postcode, $city );
            WC()->customer->set_shipping_location( $country, $state, $postcode, $city );
          } else {
            WC()->customer->set_to_base();
            WC()->customer->set_shipping_to_base();
          }
    
          WC()->customer->set_calculated_shipping( true );
          WC()->customer->save();
    
          wc_add_notice( __( 'Shipping costs updated.', 'woocommerce' ), 'notice' );
    
          do_action( 'woocommerce_calculated_shipping' );
    
        } catch ( Exception $e ) {
          if ( ! empty( $e ) ) {
            wc_add_notice( $e->getMessage(), 'error' );
          }
        }
      }
    Moderador Fernando Tellado

    (@fernandot)

    He encontrado un plugin que te permite añadir el cálculo a la página de producto. Si lo que quieres es que se muestre en el carrito ya sabrás que el mismo WooCommerce te lo permite en los ajustes.

    El shortcode que se utiliza, si lo prefieres así, es WC_Shortcode_Cart::calculate_shipping();
    Que se genera en woocommerce/includes/shortcodes/class-wc-shortcode-cart.php

    public static function calculate_shipping() {
        try {
          WC()->shipping->reset_shipping();
    
          $country  = wc_clean( $_POST['calc_shipping_country'] );
          $state    = wc_clean( isset( $_POST['calc_shipping_state'] ) ? $_POST['calc_shipping_state'] : '' );
          $postcode = apply_filters( 'woocommerce_shipping_calculator_enable_postcode', true ) ? wc_clean( $_POST['calc_shipping_postcode'] ) : '';
          $city     = apply_filters( 'woocommerce_shipping_calculator_enable_city', false ) ? wc_clean( $_POST['calc_shipping_city'] ) : '';
    
          if ( $postcode && ! WC_Validation::is_postcode( $postcode, $country ) ) {
            throw new Exception( __( 'Please enter a valid postcode / ZIP.', 'woocommerce' ) );
          } elseif ( $postcode ) {
            $postcode = wc_format_postcode( $postcode, $country );
          }
    
          if ( $country ) {
            WC()->customer->set_location( $country, $state, $postcode, $city );
            WC()->customer->set_shipping_location( $country, $state, $postcode, $city );
          } else {
            WC()->customer->set_to_base();
            WC()->customer->set_shipping_to_base();
          }
    
          WC()->customer->set_calculated_shipping( true );
          WC()->customer->save();
    
          wc_add_notice( __( 'Shipping costs updated.', 'woocommerce' ), 'notice' );
    
          do_action( 'woocommerce_calculated_shipping' );
    
        } catch ( Exception $e ) {
          if ( ! empty( $e ) ) {
            wc_add_notice( $e->getMessage(), 'error' );
          }
        }
      }
    Iniciador del debate bytecanarias

    (@bytecanarias)

    Ok, gracias

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • El debate ‘Shortcodes’ está cerrado a nuevas respuestas.