始终在 WooCommerce 电子邮件通知中显示送货地址

Always display shipping address in WooCommerce email notifications

WooCommerce 过去常常显示送货地址,无论结帐时选择哪种送货方式,如果您必须从电子邮件中隐藏送货地址,则必须执行自定义工作,如 "https:// Whosebug。com/questions/38936283/hide-shipping-address-on-local-pickup-in-woocommerce-email-notifications/38937106#38937106 回答线程。

新更新后,如果在结账时选择本地取货,WooCommerce 会从订单电子邮件中隐藏送货地址。即使选择了本地取件,我也想在订单电子邮件中显示送货地址,如果没有提供送货地址,它应该默认为帐单地址(如果选择任何其他送货方式结账会发生这种情况)。不知道从哪里开始。


编辑#1:

与 Woocommerce 支持讨论后,未记录更改,但他们能够指导我这是从哪里来的。根据他们的说法,我应该可以使用 woocommerce_order_needs_shipping_address filter hook 并且它会开始在订单电子邮件中显示送货地址,即使使用本地取件结账也是如此。

如有任何帮助,我们将不胜感激。

这是解决问题的过滤器挂钩。这将在订单电子邮件中显示送货地址,无论使用何种送货方式结帐。将此添加到 functions.php:

function show_ship_add_for_local_pickup( $needs_address, $hide ) {
    $needs_address = true;
    return $needs_address;
}
add_filter( 'woocommerce_order_needs_shipping_address', 'show_ship_add_for_local_pickup', 10, 2 );

这可以使用一行简单的代码来完成:

add_filter( 'woocommerce_order_needs_shipping_address', '__return_true' );

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。