Joh*_*nny 1 php wordpress templates woocommerce hook-woocommerce
在 WooCommerce 中,我一直在对模板进行一些编辑。到目前为止,这一切都是直截了当的。
现在,我尝试将一些列添加到“我的帐户 > 查看订单”下的“订单详细信息”表中。
我位于模板 view-order.php 中,它是 WooCommerce 中“myaccount”下的模板。
我没有看到模板中需要编辑的某些代码,而是看到以下代码:
<?php do_action( 'woocommerce_view_order', $order_id ); ?>
Run Code Online (Sandbox Code Playgroud)
此操作的代码在哪里调用?我可以编辑它吗?
感谢您的所有时间和帮助。
您需要查看 WooCommerce 插件includes/wc-template-hooks.php核心文件(第 259 行):
add_action( 'woocommerce_view_order', 'woocommerce_order_details_table', 10 );
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,该函数woocommerce_order_details_table()已被挂钩。现在让我们找到位于includes/wc-template-functions.phpcore 文件中的该函数(从第 2584 行开始)。
正如您将看到的这个挂钩函数调用模板文件order/order-details.php。
所以现在你可以做一些改变:
1)。通过您的活动子主题或主题覆盖模板文件,如order/order-details.php本文档中所述。
注意:模板文件order/order-details.php也用于收到的订单(谢谢),因此请注意使用以下条件来定位您的更改:
add_action( 'woocommerce_view_order', 'woocommerce_order_details_table', 10 );
Run Code Online (Sandbox Code Playgroud)
2)。或者/并且您也可以删除此挂钩函数以将其替换为您自己的自定义函数,例如:
remove_action( 'woocommerce_view_order', 'woocommerce_order_details_table', 10 );
add_action( 'woocommerce_view_order', 'custom_order_details_table', 10 );
function custom_order_details_table( $order_id ) {
if ( ! $order_id ) {
return;
}
// Here below add your own custom code
}
Run Code Online (Sandbox Code Playgroud)
您还可以在该自定义函数中调用您自己的自定义模板,该模板将专门用于订单视图端点...
WooCommerce 文档:
| 归档时间: |
|
| 查看次数: |
3599 次 |
| 最近记录: |