I'm in the process of converting an open source plugin to be HPOS-compatible. One of its features is additional filters on the orders list in admin (inline with the order statuses), eg: example

我似乎无法实际执行查询的修改.以前,我挂接到pre_get_posts,这显然是不再相关时,WP_Post不再被使用.

筛选器字段也是如此,我将其连接到restrict_manage_posts.found the equivalent hook: 101

有谁知道该用哪一个钩子?

推荐答案

在文档High-Performance Order Storage上,有一个指向High Performance Order Storage Upgrade Recipe Book的链接,在那里您可以找到您正在查找的相关核心文件的路径(S).

在本文档中,您拥有:

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

这指向woocommerce/src/Internal/DataStores/Orders,其中OrdersTableQuery.php file是合适的位置.

在第233行的方法maybe_override_query()中:

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

在第877行的方法build_query()中:

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

…等

由于WC_Order_Query用于查询HPOS的订单,因此以下筛选器应该仍然有效:

  • woocommerce_order_query_args滤嘴钩,
  • woocommerce_order_query滤嘴钩,
  • 并且可以是woocommerce_order_data_store_cpt_get_orders_query个过滤器钩.

对于restrict_manage_post个钩子的更换,您将不得不搜索...

Php相关问答推荐

如何使用PHP停止foreach循环中的重复项?

PHP cUrl扩展与v8.2.12更新损坏

Laravel集合块()方法

如何更改数据表行背景 colored颜色

有没有办法为整个PHP应用程序启用严格类型

删除了数组中的值,而不是多个数组

如何在Laravel Model中自定义多个日期属性的日期格式?

基于自定义域的每个购物车项目的WooCommerce定制数量输入步骤

Codeigniter 4中的未定义变量$HOME

显示 woocommerce 中所选变体的属性术语描述

WooCommerce 按产品运输插件:仅收取较高的运输费用

通过ajax发送数据到下拉列表未完全设置为所选

WordPress 分页无法正常工作

如何在 PHP 中对具有相同数组值的值求和

当所有对象都属于同一类型时,我可以省略 PHP in_array() 中的 strict 参数吗?

将Shopware 6后端中定义的值导入MultiFilter

如何在WooCommerce管理产品列表中显示运输类别列

转发和非转发呼叫 - 后期静态绑定

如何在 php/laravel 中获取元素在数组中的位置

使用 PHP ImageMagick 库将 pdf 文件的前 n 页转换为单个 png 图像文件