【问题标题】:WooCommerce - Hide shipping address when local pickup is chosen on thankyou pageWooCommerce - 在感谢页面上选择本地取货时隐藏送货地址
【发布时间】:2016-12-22 07:04:23
【问题描述】:

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

我想在选择“本地拾取”运输方法时隐藏Woocommerce“订单接收”页面中的“送货地址”。

我怎样才能做到这一点?

这是收到订单页面的截图:

提前致谢

【问题讨论】:

    标签: php wordpress woocommerce shipping orders


    【解决方案1】:

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

    您可以使用与the answer of your previous question 相同的代码,但可以在其他模板中使用:
    order/order-details-customer.php,该模板已加载到Thankyou WooCommerce 页面(“订单接收”页面)。 p>

    用以下代码替换 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; ?>
    

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

    参考资料:

    【讨论】:

    • 更好的是您可以将所有代码组合在一起并将其作为插件。您可以将您的插件上传到官方的 wordpress 插件目录。这将对许多用户有所帮助
    猜你喜欢
    • 2016-12-20
    • 1970-01-01
    • 2020-04-04
    • 2021-05-29
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2021-06-08
    • 2016-10-31
    相关资源
    最近更新 更多