- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我相信这个问题已经被问过很多次了。我什至得到了很少的答案,但我真的不知道如何在 Wordpress + WooCommerce 中编辑任何“操作”或“过滤器” Hook 。
以结帐页面为例,底部通常是购物车的摘要,此信息由以下代码生成:
<?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>
我尝试了不同的方式在其他文件中搜索“woocommerce_thankyou”,但我找不到任何东西。那么,输出代码是如何生成的呢?必须有一个文件被调用来执行它。
最佳答案
您只是错过了 WooCommerce 插件文件 includes/wc-template-hooks.php
操作 Hook woocommerce_thankyou
is called on line 260触发位于 includes/wc-template-functions.php
上的 woocommerce_order_details_table()
函数来自 line 2641 to 2560 :
if ( ! function_exists( 'woocommerce_order_details_table' ) ) {
/**
* Displays order details in a table.
*
* @param mixed $order_id Order ID.
*/
function woocommerce_order_details_table( $order_id ) {
if ( ! $order_id ) {
return;
}
wc_get_template(
'order/order-details.php',
array(
'order_id' => $order_id,
)
);
}
}
如您所见,此函数调用 WooCommerce 模板 order/order-details.php
, 输出相关的订单详情。
因此您必须编辑 WooCommerce 模板 order/order-details.php
进行更改。 但此模板在其他页面上多次使用。
因此,您可以使用 is_wc_endpoint_url('order-received')
条件标记定位 WooCommerce 感谢页面,您将能够使用它覆盖此模板,例如:
if ( is_wc_endpoint_url('order-received') ) {
// The altered code for the thankyou page
} else {
// The normal code for all other pages
}
关于php - 如何在 WooCommerce 中编辑 "woocommerce_thankyou"钩子(Hook)的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60463941/
我正在使用下面的 woocommerce 操作来调用自定义函数,但由于某种原因,它在每个订单上被触发了两次。有谁知道为什么会这样或如何解决它以便每个订单只调用一次? add_action( 'wooc
我们正在使用 woocommerce_thankyou 来执行结帐操作。然而,在一个简单的测试中,如果我设置了 Action 并且只是“echo 'Test';”它发生了 4 次。这是代码 class
这个问题在这里已经有了答案: woocommerce_thankyou hook not working (1 个回答) Getting order data after successful che
我相信这个问题已经被问过很多次了。我什至得到了很少的答案,但我真的不知道如何在 Wordpress + WooCommerce 中编辑任何“操作”或“过滤器” Hook 。 以结帐页面为例,底部通常是
我相信这个问题已经被问过很多次了。我什至得到了很少的答案,但我真的不知道如何在 Wordpress + WooCommerce 中编辑任何“操作”或“过滤器” Hook 。 以结帐页面为例,底部通常是
我是一名优秀的程序员,十分优秀!