Wordpress 在Woocommerce订单跟踪表上更改带有电话号码的电子邮件,或仅使用订单号码进行跟踪
我想将电子邮件字段与电话字段一起更改为跟踪WooCommerce订单跟踪表单页面上的订单状态。如果不可能,那么我只想禁用电子邮件字段,这样我的客户就可以通过只输入订单号来跟踪他们的订单状态 在order/form-tracking.php内部,我尝试将“order\u email”替换为“order\u phone”,甚至尝试将其替换为“billing\u phone”,但没有跟踪任何发货。 我最后一次尝试删除以下整个电子邮件部分代码Wordpress 在Woocommerce订单跟踪表上更改带有电话号码的电子邮件,或仅使用订单号码进行跟踪,wordpress,woocommerce,Wordpress,Woocommerce,我想将电子邮件字段与电话字段一起更改为跟踪WooCommerce订单跟踪表单页面上的订单状态。如果不可能,那么我只想禁用电子邮件字段,这样我的客户就可以通过只输入订单号来跟踪他们的订单状态 在order/form-tracking.php内部,我尝试将“order\u email”替换为“order\u phone”,甚至尝试将其替换为“billing\u phone”,但没有跟踪任何发货。 我最后一次尝试删除以下整个电子邮件部分代码 <p class="form-row form-row
<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 ?>
虽然已经很晚了,但这是您的答案,您必须在
wp content/plugins/woocommerce/includes/shortcode/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 ?>