OHS*_*HSM 5 php wordpress shipping email-notifications woocommerce
如果选择了“本地取件”,如何隐藏客户处理电子邮件中的“收货地址”信息部分?
我不知道如何为此提供代码。
是的,这是可能的 (请参阅本页底部的更新) …
覆盖WooCommerce模板(将WooCommerce插件
templates文件夹复制到您的活动子主题或主题,将其重命名woocommerce)。
对于请务必仔细阅读相关文档 第一次。
正确完成上述操作后,您必须编辑woocommerce活动子主题或主题内该文件夹中的2个模板。这些文件位于:
emails (sub folder) > email-addresses.php (php file)。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>
emails (sub folder) > plain (sub folder) > email-addresses.php (php file)。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";
}
我已经添加了此功能,以检测何时按顺序使用本地代答:
$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()Run Code Online (Sandbox Code Playgroud)$shipping_local_pickup = false; if ( $order->has_shipping_method( 'local_pickup' ) ) $shipping_local_pickup = true;并在现有
if语句中停止显示送货地址(对于本地取件):Run Code Online (Sandbox Code Playgroud)&& !$shipping_local_pickup
参考文献:
| 归档时间: | 
 | 
| 查看次数: | 1773 次 | 
| 最近记录: |