Shortcodes
-
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]
-
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
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í: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
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.phppublic 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' ); } } }
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.phppublic 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' ); } } }
Ok, gracias
- El debate ‘Shortcodes’ está cerrado a nuevas respuestas.