【问题标题】:Change Email with Phone number on Woocommerce Order Tracking Form or Simply track with only order number在 Woocommerce 订单跟踪表上使用电话号码更改电子邮件或仅使用订单号进行跟踪
【发布时间】:2019-10-25 21:37:56
【问题描述】:

我想将电子邮件字段更改为电话字段以在 WooCommerce 订单跟踪表单页面上跟踪订单状态。如果不可能,那么我想简单地禁用电子邮件字段,以便我的客户可以通过输入订单号来跟踪他们的订单状态。

在 order/form-tracking.php 中,我尝试将“order_email”替换为“order_phone”,甚至尝试将其替换为“billing_phone”,但没有跟踪任何发货。 我最后一次尝试并尝试删除以下整个电子邮件部分代码,

<p class="form-row form-row-last"><label for="order_email"><?php esc_html_e( 'Billing email', 'woocommerce' ); ?></label> <input class="input-text" type="text" name="order_email" id="order_email" value="<?php echo isset( $_REQUEST['order_email'] ) ? esc_attr( wp_unslash( $_REQUEST['order_email'] ) ) : ''; ?>" placeholder="<?php esc_attr_e( 'Email you used during checkout.', 'woocommerce' ); ?>" /></p><?php // @codingStandardsIgnoreLine ?>

但它不起作用,仍然说需要电子邮件。 任何帮助将不胜感激,请...

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

    虽然已经很晚了,但这是您的答案,您也必须更改 wp-content/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-order-tracking.php

    if ( isset( $_REQUEST['orderid'] ) && wp_verify_nonce( $nonce_value, 'woocommerce-order_tracking' ) ) { // WPCS: input var ok.
    
                $order_id    = empty( $_REQUEST['orderid'] ) ? 0 : ltrim( wc_clean( wp_unslash( $_REQUEST['orderid'] ) ), '#' ); // WPCS: input var ok.
                $order_phone = empty( $_REQUEST['order_phone'] ) ? '' : ( wc_sanitize_phone_number( $_REQUEST['order_phone'] ) ); // WPCS: input var ok.
    
                if ( ! $order_id ) {
                    wc_print_notice( __( 'Please enter a valid order ID', 'woocommerce' ), 'error' );
                } elseif ( ! $order_phone ) {
                    wc_print_notice( __( 'Please enter a valid phone number', 'woocommerce' ), 'error' );
                } else {
                    $order = wc_get_order( apply_filters( 'woocommerce_shortcode_order_tracking_order_id', $order_id ) );
    
                    if ( $order && $order->get_id() && wc_sanitize_phone_number( $order->get_billing_phone() ) ===  $order_phone ) {
                        do_action( 'woocommerce_track_order', $order->get_id() );
                        wc_get_template(
                            'order/tracking.php',
                            array(
                                'order' => $order,
                            )
                        );
                        return;
                    } else {
                        wc_print_notice( __( 'Sorry, the order could not be found. Please contact us if you are having difficulty finding your order details.', 'woocommerce' ), 'error' );
                    }
                }
            }
    
            wc_get_template( 'order/form-tracking.php' );
        }
    

    wp-content/plugins/woocommerce/templates/order/form-tracking.php

    <p class="form-row form-row-last"><label for="order_phone"><?php esc_html_e( 'Billing phone number', 'woocommerce' ); ?></label> <input class="input-text" type="text" name="order_phone" id="order_phone" value="<?php echo isset( $_REQUEST['order_phone'] ) ? esc_attr( wc_sanitize_phone_number( $_REQUEST['order_phone'] ) ) : ''; ?>" placeholder="<?php esc_attr_e( 'Phone number you used during checkout.', 'woocommerce' ); ?>" /></p><?php // @codingStandardsIgnoreLine ?>
    

    【讨论】:

      猜你喜欢
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      • 2021-03-29
      相关资源
      最近更新 更多