首页 > 解决方案 > woocommerce 基于支付网关的感谢消息

问题描述

如果选择了付款方式,我想更改感谢信息,我已经实现了这一点并且正在工作,但仍然不知道下面代码中需要此行我需要它吗?

add_filter('woocommerce_thankyou_order_received_text', 'woo_change_order_received_text', 20, 2 );
function woo_change_order_received_text( $str, $order ) {

$order = wc_get_order( $order_id ); // do i need this line, it works without it do i need it ????????

    if( 'bacs' == $order->get_payment_method() ) {
    $new_str = $str . '<br><br><span style="display:block;font-weight:bold; text-align:center"> Please after your payment is done make sure to visit </span><br>';
    return $new_str;
    }
    return $str;
}

我需要这条线吗,没有它也可以工作我需要吗?

$order = wc_get_order( $order_id );

标签: phpwordpresswoocommerce

解决方案


你不需要那条线。钩子的参数woocommerce_thankyou_order_received_textthank you message string$order对象。

此行$order = wc_get_order( $order_id ); 的作用是从订单 id 中获取订单对象$order,这是完全没有必要的,因为您在函数内部已经有订单对象作为参数可用。

另请注意,在您的函数中,钩子参数中没有 $order_id 可用。所以那行代码没有相关性。

所以你可以删除线。


推荐阅读