即使未注册,也会在 WooCommerce 的谢谢页面上显示客户详细信息

Kon*_*ijn 2 php wordpress templates orders woocommerce

在 WooCommerce 中,对于登录用户,Thankyou(已收到订单)页面会显示客户详细信息,例如姓名、地址和电子邮件,但在客户未注册时不会显示任何信息

如何确保非注册用户在支付成功完成后,可以在Thankyou(已收到订单)页面上看到他们的详细信息,就像注册用户一样?

为什么非注册用户的Thankyou(已收到订单)页面上不显示客户详细信息?

Loi*_*tec 5

您可以使用以下代码为未登录的用户更改此行为:

add_action( 'woocommerce_thankyou', 'adding_customers_details_to_thankyou', 10, 1 );
function adding_customers_details_to_thankyou( $order_id ) {
    // Only for non logged in users
    if ( ! $order_id || is_user_logged_in() ) return;

    $order = wc_get_order($order_id); // Get an instance of the WC_Order object

    wc_get_template( 'order/order-details-customer.php', array('order' => $order ));
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或主题)的 function.php 文件或任何插件文件中。

测试和工作。

可能是出于安全原因,客户信息未显示的事实,因为此信息的保护方式与登录用户(注册用户)不同。