使用 HPOS 过滤 WooCommerce 中的订单列表

问题描述 投票:0回答:1

我正在将开源插件转换为 HPOS 兼容。其功能之一是管理中订单列表上的附加过滤器(与订单状态一致),例如:

我似乎无法实际执行查询的修改。之前,我一直在使用

pre_get_posts
,当不再使用 WP_Post 时,这显然不再相关。

对于过滤器字段也是如此,我为此挂钩了

restrict_manage_posts

有人知道每个钩子应该使用哪个钩子吗?

woocommerce hook-woocommerce
1个回答
0
投票

首先,您应该更好地阅读高性能订单存储升级食谱书,您可以在其中找到您正在寻找的相关核心文件的路径。

在本文档中,您有:

use Automattic\WooCommerce\Internal\DataStores\Orders\CustomOrdersTableController;

指向

woocommerce/src/Internal/DataStores/Orders
,其中
OrdersTableQuery.php
文件
是查看的正确位置。

在方法内部

maybe_override_query()
你在第233行:

$pre_query = apply_filters( 'woocommerce_hpos_pre_query', null, $this, $this->sql );

在方法内部

build_query()
你在第877行:

$clauses = (array) apply_filters_ref_array( 'woocommerce_orders_table_query_clauses', array( $pieces, &$this, $this->args ) );

等等……

© www.soinside.com 2019 - 2024. All rights reserved.