wordpress 如果订单状态完成,则在woocommerce_thankyou中添加文本

6tdlim6h  于 2022-12-26  发布在  WordPress
关注(0)|答案(2)|浏览(177)

我需要添加一个自定义文本,如果订单已处理并处于完成状态,则该文本将显示在感谢页上。
我在“woocommerce_order_details_before_order_table”钩子中使用了以下代码,它工作得很完美,但是当我在“woocommerce_thankyou”钩子中使用它时,它产生了错误。

add_action( 'woocommerce_thankyou', 'complete_custom_text' );

function complete_custom_text( $order ) {
    $status = $order->get_status();
    if(($status === 'completed')){
    echo '<p><b>Text (Custom) 5:</b> Perfect.</p>';
    }
}

如果有人能帮助我,我将不胜感激。

bihw5rsg

bihw5rsg1#

woocommerce_thankyou钩子将订单ID作为参数传递,而不是订单对象本身。您可以使用wc_get_order函数从订单ID中检索订单对象:

add_action( 'woocommerce_thankyou', 'complete_custom_text' );

function complete_custom_text( $order_id ) {
  $order = wc_get_order( $order_id );
  $status = $order->get_status();
  if(($status === 'completed')){
    echo '<p><b>Text (Custom) 5:</b> Perfect.</p>';
  }
}

这将允许您使用woocommerce_thankyou钩子在已完成订单的感谢页面上显示自定义文本。

ovfsdjhp

ovfsdjhp2#

您将在该钩子中接收order_id,在阅读状态之前使用$order = wc_get_order( $order_id );获取订单。

相关问题