我正在尝试更改WooCommerce新订单电子邮件中的Shipping字段顺序,但是,修改email-addresses.php中的Shipping字段会破坏结帐页面。我怎么修改这个?
这就是我修改的方式:
0.源代码:
$text_align = is_rtl() ? 'right' : 'left';
$address = $order->get_formatted_billing_address();
$shipping = $order->get_formatted_shipping_address();
?><table id="addresses" cellspacing="0" cellpadding="0" style="width: 100%; vertical-align: top; margin-bottom: 40px; padding:0;" border="0">
<tr>
<td style="text-align:<?php echo esc_attr( $text_align ); ?>; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; border:0; padding:0;" valign="top" width="50%">
<h2><?php esc_html_e( 'Billing address', 'woocommerce' ); ?></h2>
<address class="address">
<?php echo wp_kses_post( $address ? $address : esc_html__( 'N/A', 'woocommerce' ) ); ?>
<?php if ( $order->get_billing_phone() ) : ?>
<br/><?php echo esc_html( $order->get_billing_phone() ); ?>
<?php endif; ?>
<?php if ( $order->get_billing_email() ) : ?>
<br/><?php echo esc_html( $order->get_billing_email() ); ?>
<?php endif; ?>
</address>
</td>
<?php if ( ! wc_ship_to_billing_address_only() && $order->needs_shipping_address() && $shipping ) : ?>
<td style="text-align:<?php echo esc_attr( $text_align ); ?>; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; padding:0;" valign="top" width="50%">
<h2><?php esc_html_e( 'Shipping address', 'woocommerce' ); ?></h2>
<address class="address"><?php echo wp_kses_post( $shipping ); ?></address>
</td>
<?php endif; ?>
</tr>
</table>
1.成功修改了“结算”字段:
<address class="address">
<?php //echo wp_kses_post( $address ? $address : esc_html__( 'N/A', 'woocommerce' ) ); ?>
Name: <?php echo $order->billing_first_name; ?><?php echo $order->billing_last_name; ?><br>
Address:<?php echo $order->billing_country; ?><?php echo $order->billing_postcode; ?><?php echo $order->billing_city; ?><?php echo $order->billing_state; ?><?php echo $order->billing_address_1; ?>
<?php if ( $order->get_billing_phone() ) : ?>
<br/>Phone:<?php echo esc_html( $order->get_billing_phone() ); ?>
<?php endif; ?>
<?php if ( $order->get_billing_email() ) : ?>
<br/>Email:<?php echo esc_html( $order->get_billing_email() ); ?>
<?php endif; ?>
</address>
</td>
这是我要改变运输领域,但不是工作:
<td style="text-align:<?php echo esc_attr( $text_align ); ?>; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; padding:0;" valign="top" width="50%">
<h2><?php esc_html_e( 'Shipping address', 'woocommerce' ); ?></h2>
<address class="address">
<?php //echo wp_kses_post( $shipping ); ?>
Shipping Name:<?php echo esc_html($order->get_shipping_first_name() ); ?><?php echo esc_html($order->get_shipping_last_name() ); ?><br>
Shipping Address:<?php echo $order->esc_html(get_shipping_country() ); ?><?php echo esc_html($order->get_shipping_postcode() ); ?><?php echo esc_html($order->get_shipping_city() ); ?><?php echo esc_html($order->get_shipping_state() ); ?><?php echo esc_html($order->get_shipping_address_1() );?>
<?php if ( $order->get_shipping_phone() ) : ?>
<br/>Shipping Phone:<?php echo esc_html( $order->get_shipping_phone() ); ?>
<?php endif; ?>
<?php if ( $order->get_shipping_email() ) : ?>
<br/>Shipping Email:<?php echo esc_html( $order->get_shipping_email() ); ?>
<?php endif; ?>
</address>
任何帮助我在哪里可以获得并改变它?
谢谢
嘿,你的代码是完美的,除了以下几行
1> if ( $order->get_shipping_phone() )
2> if ( $order->get_shipping_email() )
在上面的行中,get_shipping_phone和get_shipping_email是woocommerce本身无法使用的方法,因此如果需要,可以使用get_billing_email和get_billing_phone代替它们。