为了账号安全,请及时绑定邮箱和手机立即绑定

Woocommerce - 重定向到已收到订单的页面,但未显示订单详细信息

Woocommerce - 重定向到已收到订单的页面,但未显示订单详细信息

PHP
守候你守候我 2023-06-24 17:16:43
我实现 WC_Payment_Gateway 来自定义我的支付网关,将结帐页面重定向到银行页面以进行信用卡流程。信用卡付款后,银行页面将用户重定向到我设置的回调页面。我做了一些付款状态检查,然后使用 javascript 将用户重定向到thankyou.php。 <script>       function myFunction() {          window.location.href = "https://sib-skincare.com/checkout/order-received";      };  </script>然后它只显示一条简单的成功消息,如下所示在检查thankyou.php页面后,我注意到一件事。页面首先检查 ( $order ) 是否退出,然后显示更多订单详细信息,否则只会显示“谢谢。您的订单已收到”。我的问题是 $order 变量何时设置?如果我不在thankyou.php页面中插入一些代码来从会话和实例$order对象中获取order_id。该对象始终为 none,因此不会显示订单详细信息。https://github.com/woocommerce/woocommerce/blob/master/templates/checkout/thankyou.phpdefined( 'ABSPATH' ) || exit;?><div class="woocommerce-order"><?phpif ( $order ) :    do_action( 'woocommerce_before_thankyou', $order->get_id() );    ......    .......<?php else : ?>    <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), null ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p><?php endif; ?></div>
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

您可以确保在 url 中传递订单 ID 和安全密钥,如下所示:

https://site-url/checkout/order-received/2878/?key=wc_order_u9DmQCpfdEhcW

您可以从正在执行的过程中获取订单 ID,如果您没有获取密钥,则可以从 postmeta 表中获取它。

如果您像这样通过它,那么您将看到一个正常的感谢页面,其中包含订单的所有详细信息。

根据您当前的网址,网址中没有订单标识,因此它会向您显示一个通用的感谢页面。


查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 220 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信