No enviar booking al carrito si no por correo
-
Mi asunto es que la plantilla envía por defecto el pedido (booking en tes caso), pero no que sea así, necesito que mas bien esto llegue a un email para ser valorado y luego responder al cliente.
La verdad no es necesario el carrito de compras ya que no hacemos la venta en línea hasta verificar los datos con el operador y luego con el cliente. Adjunto el código PHP donde creo que esto se hace.
Gracias!<?php /** * Tour booking form view. * * @var AtBookingFormBase $booking_form * @var WC_Product_Tour $product * @var assoc $field_config * @var assoc $field_errors * @var assoc $field_values * @var assoc $options * * @author Themedelight * @package Themedelight/AdventureTours * @version 3.0.0 */ $rendererer = new AtFormRendererHelper( array( 'field_config' => $field_config, 'field_vals' => $field_values, 'field_errors' => $field_errors, ) ); if ( $field_errors ) { // errors are rendered via title attribute, to disaply them via tooltips $rendererer->init_js_errors( '#tourBookingForm input[title]' ); } $is_wc_older_than_30 = version_compare( WC_VERSION, '3.0.0', '<'); $config_variations_data = null; $plain_price_data = null; if ( $product->is_variable_tour() ) { $config_variations_data = $product->get_available_variations(); } else { $plain_price_data = array( 'display_price' => $is_wc_older_than_30 ? $product->get_display_price() : wc_get_price_to_display( $product, array( 'price' => '' ) ), 'display_regular_price' => $is_wc_older_than_30 ? $product->get_display_price( $product->get_regular_price() ) : wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ), ); } // WooCommerce Currency Switcher plugin is active if ( !empty( $GLOBALS['WOOCS'] ) ) { $WOOCS = $GLOBALS['WOOCS']; // if current user currency is different from defaut one and option 'is_multiple_allowed' is off // - 'display_price' is not converted so we need convert it manually if ( $WOOCS->default_currency != $WOOCS->current_currency && ! $WOOCS->is_multiple_allowed ) { if ( $config_variations_data ) { foreach ( $config_variations_data as &$_variation_details ) { $_variation_details['display_price'] = (float) $WOOCS->raw_woocommerce_price( $_variation_details['display_price'] ); $_variation_details['display_regular_price'] = (float) $WOOCS->raw_woocommerce_price( $_variation_details['display_regular_price'] ); } } elseif ( $plain_price_data ) { $plain_price_data['display_price'] = (float) $WOOCS->raw_woocommerce_price( $plain_price_data['display_price'] ); $plain_price_data['display_regular_price'] = (float) $WOOCS->raw_woocommerce_price( $plain_price_data['display_regular_price'] ); } } } TdJsClientScript::addScript( 'money_formatting_config', 'Theme.formatter.setConfig("money",' . wp_json_encode( array( 'mask' => sprintf( get_woocommerce_price_format(), get_woocommerce_currency_symbol(), '{amount}' ), 'decimal_separator' => wc_get_price_decimal_separator(), 'thousand_separator' => wc_get_price_thousand_separator(), 'decimals' => wc_get_price_decimals(), ) ) .');' ); adventure_tours_load_datepicker_assets(); TdJsClientScript::addScript( 'initTourBookingForm', 'Theme.tourBookingForm.init(' . wp_json_encode( array( 'formSelector' => '#tourBookingForm', 'availableDates' => $booking_form->get_booking_dates( $product, true ), 'dateFormat' => $booking_form->get_date_format( 'datepicker' ), 'timeFormat' => $booking_form->get_date_format( 'datepicker-time' ), 'plainPriceData' => $plain_price_data, 'variationsData' => $config_variations_data, 'disableAjax' => 'yes' != get_option( 'woocommerce_enable_ajax_add_to_cart' ), 'dateCalendarAvailableTicketsMessage' => $booking_form->calendar_show_left_tickets_format, 'timeSeletTextFormat' => $booking_form->time_select_text_format, 'useDatePickerForDateSelection' => $booking_form->user_datepicker_for_date_field, // to disable date calendar and have select element instead of it // as 'wcml_multi_currency_is_ajax' action has been removed since 3.9.X, will use 'wc-ajax' action instead of standard 'wp_ajax_action' 'itemsDataPriceUrl' => home_url( '?wc-ajax=calculate_booking_items_price' ) ) ) . ');' ); ?> <a></a> <?php $notices = apply_filters( 'adventure_tours_booking_form_notices', array() ); if ( $notices ) { foreach ( $notices as $notice_type => $messages ) { adventure_tours_render_template_part( 'templates/parts/notices', '', array( 'messages' => $messages, 'type' => $notice_type, )); } } ?> <div class="form-block form-block--style3 form-block--tour-booking block-after-indent"> <?php $form_title = apply_filters( 'adventure_tours_booking_form_title', esc_html__( 'Book the tour', 'adventure-tours'), $product ); if ( $form_title ) { printf( '<h3 class="form-block__title">%s</h3>', esc_html( $form_title ) ); } ?> <form id="tourBookingForm" method="POST"> <?php echo $rendererer->render(); ?> <?php do_action( 'woocommerce_before_add_to_cart_button' ); ?> <div class="form-block__price-details" data-role="price-explanation"></div> <?php printf('<input class="form-block__button" type="submit" value="%s">', esc_attr( apply_filters( 'adventure_tours_booking_form_btn_text', esc_html__( 'Book now', 'adventure-tours'), $product ) ) ); ?> </form> </div>
Viendo 1 respuesta (de un total de 1)
Viendo 1 respuesta (de un total de 1)
- El debate ‘No enviar booking al carrito si no por correo’ está cerrado a nuevas respuestas.