WooCommerce感谢页获取订单数据并集成Trusted Shops工具
解决WooCommerce感谢页添加Trusted Shops订单详情的问题
看起来你已经找对了钩子方向,但代码里有几个小问题需要调整——比如没正确获取订单对象,也没把内容放进目标div里。我帮你修复并完善了代码,直接用这个就能实现需求:
add_action( 'woocommerce_order_details_before_order_table', 'trusted_shops_thankyou', 15, 1 ); function trusted_shops_thankyou( $order_id ) { // 通过订单ID获取有效的WC_Order对象 $order = wc_get_order( $order_id ); // 确保订单对象存在,避免页面报错 if ( ! $order ) { return; } // 输出包裹Trusted Shops内容的div echo '<div class="trusted-shops-container">'; // 输出Trusted Shops需要的核心订单参数 echo 'tsCheckoutOrderNr: ' . esc_html( $order->get_order_number() ) . '<br>'; echo 'tsCheckoutBuyerEmail: ' . esc_html( $order->get_billing_email() ) . '<br>'; // 可根据Trusted Shops要求,添加更多参数示例 echo 'tsCheckoutBuyerName: ' . esc_html( $order->get_billing_first_name() . ' ' . $order->get_billing_last_name() ) . '<br>'; echo 'tsCheckoutOrderAmount: ' . esc_html( $order->get_total() ) . '<br>'; echo 'tsCheckoutCurrency: ' . esc_html( $order->get_currency() ); echo '</div>'; }
代码细节说明:
- 用
wc_get_order($order_id)获取订单对象是WooCommerce官方推荐的安全方式,避免直接调用可能不存在的对象 - 增加订单对象有效性检查,防止异常场景下的页面报错
- 所有内容都包裹在
trusted-shops-container类的div中,方便你后续给这个容器添加样式或集成Trusted Shops的工具脚本 - 用
esc_html()对输出内容做转义处理,避免XSS安全风险,这是开发WooCommerce扩展的最佳实践 - 额外添加了几个常用参数示例,你可以根据Trusted Shops的具体要求自由增减
把这段代码添加到你的主题functions.php文件,或者自定义插件中,就能在感谢页的订单表格前看到符合要求的订单详情区块了。
内容的提问来源于stack exchange,提问作者Cray
相关产品推荐
相关产品推荐

