如果选择“本地取件”,如何隐藏客户处理电子邮件中的“送货地址”信息部分?
我不知道如何为此提供代码 .
Yes it's possible (参见本页底部的更新)......
覆盖WooCommerce模板(将WooCommerce插件模板文件夹复制到您的活动子主题或主题,将其重命名为woocommerce) . 为此,请务必先阅读相关文档 .
完成上述操作后,您必须编辑位于活动子主题或主题内的 woocommerce 文件夹中的2个模板 . 文件位于:
(sub folder)
(php file)
替换此模板的代码 from line 19:
if ( ! defined( 'ABSPATH' ) ) { exit; } ?><table id="addresses" cellspacing="0" cellpadding="0" style="width: 100%; vertical-align: top;" border="0"> <tr> <td class="td" style="text-align:left; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;" valign="top" width="50%"> <h3><?php _e( 'Billing address', 'woocommerce' ); ?></h3> <p class="text"><?php echo $order->get_formatted_billing_address(); ?></p> </td> <?php // ======================> Here begins the customization $shipping_local_pickup = false; if ( $items_totals = $order->get_order_item_totals() ) { foreach ( $items_totals as $items_total ) { if ( $items_total['value'] == 'Local Pickup' && !$shipping_local_pickup ) $shipping_local_pickup = true; } } // End if ( ! wc_ship_to_billing_address_only() && $order->needs_shipping_address() && ( $shipping = $order->get_formatted_shipping_address() ) && !$shipping_local_pickup ) : ?> <td class="td" style="text-align:left; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;" valign="top" width="50%"> <h3><?php _e( 'Shipping address', 'woocommerce' ); ?></h3> <p class="text"><?php echo $shipping; ?></p> </td> <?php endif; ?> </tr> </table>
if ( ! defined( 'ABSPATH' ) ) { exit; } echo "\n" . strtoupper( __( 'Billing address', 'woocommerce' ) ) . "\n\n"; echo preg_replace( '#<br\s*/?>#i', "\n", $order->get_formatted_billing_address() ) . "\n"; // ======================> Here begins the customization $shipping_local_pickup = false; if ( $items_totals = $order->get_order_item_totals() ) { foreach ( $items_totals as $items_total ) { if ( $items_total['value'] == 'Local Pickup' && !$shipping_local_pickup ) $shipping_local_pickup = true; } } // End if ( ! wc_ship_to_billing_address_only() && $order->needs_shipping_address() && ( $shipping = $order->get_formatted_shipping_address() ) && !$shipping_local_pickup ) { echo "\n" . strtoupper( __( 'Shipping address', 'woocommerce' ) ) . "\n\n"; echo preg_replace( '#<br\s*/?>#i', "\n", $shipping ) . "\n"; }
我有jus添加这个来检测订单中何时使用 Local Pickup :
$shipping_local_pickup = false; if ( $items_totals = $order->get_order_item_totals() ) { foreach ( $items_totals as $items_total ) { if ( $items_total['value'] == 'Local Pickup' && !$shipping_local_pickup ) $shipping_local_pickup = true; } }
这在现有的 if 语句中停止显示送货地址(对于本地提货):
&& !$shipping_local_pickup
更新:可以使用** WC_Abstract_Order类 - has_shipping_method()**方法使用更紧凑的代码:$ shipping_local_pickup = false;if($ order-> has_shipping_method('local_pickup'))$ shipping_local_pickup = true;这在现有的if语句中停止显示送货地址(对于Local Pickup):&&!$ shipping_local_pickup
参考文献:
Template Structure + Overriding Templates via a Theme
Class WC_Abstract_Order - has_shipping_method()
1 回答
Yes it's possible (参见本页底部的更新)......
完成上述操作后,您必须编辑位于活动子主题或主题内的 woocommerce 文件夹中的2个模板 . 文件位于:
(sub folder)
**** > email-addresses.php(php file)
.替换此模板的代码 from line 19:
(sub folder)
**** > plain(sub folder)
**** > email-addresses.php(php file)
.替换此模板的代码 from line 19:
我有jus添加这个来检测订单中何时使用 Local Pickup :
这在现有的 if 语句中停止显示送货地址(对于本地提货):
参考文献:
Template Structure + Overriding Templates via a Theme
Class WC_Abstract_Order - has_shipping_method()