WooCommerce - 在感谢页面上选择本地取货时隐藏送货地址

WooCommerce - Hide shipping address when local pickup is chosen on thankyou page

我在电子商务网站上使用带有 WooCommerce 插件最新版本的 WordPress。

我想在选择运输方法时,在woocommerce "Order received"页面中隐藏"Shipping Address"页面。

我怎样才能做到这一点?

这是“已收到订单”页面的屏幕截图:

提前致谢

可以 overriding WooCommerce templates (将 WooCommerce 插件模板文件夹复制到您的活动子主题或主题,将其重命名为 woocommerce)

您可以使用与 相同的代码,但在另一个模板中:
order/order-details-customer.php 加载到 Thankyou WooCommerce 页面("Order receive" 页面)。

order/order-details-customer.php模板的第64行到末尾的代码部分替换为以下代码:

<?php
    // BEGIN HERE
    $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_local_pickup ) : // HERE TOO ?>

    </div><!-- /.col-1 -->
    <div class="col-2">
        <header class="title">
            <h3><?php _e( 'Shipping Address', 'woocommerce' ); ?></h3>
        </header>
        <address>
            <?php echo ( $address = $order->get_formatted_shipping_address() ) ? $address : __( 'N/A', 'woocommerce' ); ?>
        </address>
    </div><!-- /.col-2 -->
</div><!-- /.col2-set -->

<?php endif; ?>

这是经过测试且功能齐全的代码

参考文献: