首页 > 解决方案 > 通过送货方式在感谢页面上添加自定义消息

问题描述

我正在尝试向已收到订单(谢谢)页面添加一条消息,前提是订单使用免费送货。该消息可以替换标准的“谢谢...”消息,也可以是附加消息。

这是我正在使用的代码。它基于此处的答案:根据 WooCommerce 中的运输方式自定义收到的订单页面

//add message to order received if outside delivery area
add_filter( 'woocommerce_thankyou_order_received_text', 'woo_change_order_received_text', 20, 2 );
function woo_change_order_received_text( $thankyou_text, $order ) {
    if ( is_wc_endpoint_url( 'order-received' ) ) {
        global $wp;

        $order_id  = absint( $wp->query_vars['order-received'] );
        $order_key = isset( $_GET['key'] ) ? wc_clean( $_GET['key'] ) : '';


        $method_title_names = array();

        if( in_array( 'Free shipping', $method_title_names ) ) {
            return sprintf( __("%s <div class=\"outside-delivery-checkout\"><b>PLEASE NOTE:</b><br />Your shipping destination is outside of our normal delivery area. Our team will call you to calculate an additional fuel surcharge.</div>", "woocommerce"),
    $thankyou_text
                                );
        }
    }
    return $thankyou_text;
}

我无法让它正常工作,也不知道出了什么问题。任何帮助是极大的赞赏。

标签: phpwordpresswoocommercecheckoutshipping-method

解决方案


您只需要以下内容(其中“免费送货”是您的免费送货方式的名称)

add_filter( 'woocommerce_thankyou_order_received_text', 'woo_change_order_received_text', 20, 2 );
function woo_change_order_received_text( $text, $order ) {
    if( $order->get_shipping_method() == 'Free shipping' ) {
        $text .= ' <div class=\"outside-delivery-checkout\"><strong>'. __("PLEASE NOTE", "woocommerce") . ':</strong><br />'.__("Your shipping destination is outside of our normal delivery area. Our team will call you to calculate an additional fuel surcharge.", "woocommerce") . '</div>';
    }
    return $text;
}

类似:代码在您的活动子主题(或活动主题)的 function.php 文件中。测试和工作。


根据 WooCommerce 中的运输方式自定义订单接收页面


推荐阅读