【发布时间】:2021-11-26 11:30:13
【问题描述】:
我的目的是隐藏包含特定产品 ID (5) 的订单。 这在 WooCommmerce“我的帐户”订单表中
我所做的是/myaccount/orders.php中描述的步骤
模板文件。即将文件复制到我的主题文件夹。
(mytheme/woocommerce/myaccount/orders.php.)
我换了
<tbody>
<?php
foreach ( $customer_orders->orders as $customer_order ) {
$order = wc_get_order( $customer_order ); // phpcs:ignore
WordPress.WP.GlobalVariablesOverride.Prohibited
$item_count = $order->get_item_count() -
$order->get_item_count_refunded();
?>
<tr class="woocommerce-orders-table__row
woocommerce-orders-table__row--status-<?php echo esc_attr(
$order->get_status() ); ?> order">
...
</tr>
<?php
}
?>
</tbody>
有
<tbody>
<?php
foreach ( $customer_orders->orders as $customer_order ) {
$order = wc_get_order( $customer_order ); // phpcs:ignore
WordPress.WP.GlobalVariablesOverride.Prohibited
$item_count = $order->get_item_count() -
$order->get_item_count_refunded();
foreach( $order->get_items() as $item ) {
$product_id = $item->get_product_id();
if ( $product_id != 5 ) {
?>
<tr class="woocommerce-orders-table__row
woocommerce-orders-table__row--status-<?php echo esc_attr(
$order->get_status() ); ?> order">
...
</tr>
<?php
}
}
}
?>
</tbody>
虽然这没有错误消息,但它不会产生预期的结果。
谁能给点建议?哦,如果有一个解决方案是通过钩子而不是 覆盖模板文件我真的很感激。
【问题讨论】:
-
您只想隐藏此产品或重新计算孔顺序?如果您想从所有订单中删除(删除)该项目,请检查此 - stackoverflow.com/questions/40212271/…
标签: wordpress woocommerce product hook-woocommerce orders