使用 wc_orders_meta 中的元数据扩展 WooCommerce 管理订单列表中的搜索,核心字段位于 wc_post_meta

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

我们创建了客户需要填写的自定义字段才能收到订单,因为他们将被发送给其他订购者。当订购它的其他人要求更新时,他们总是知道收件人,不幸的是,我们无法查找该信息,因为它们是客户字段,并且 WooCommerce 默认情况下不搜索元数据。我需要一个代码来创建搜索该数据的能力。我知道它位于 Order_meta 文件夹中,而不是位于 post-meta 中。

发现另一篇文章使用以下代码:

add_filter( 'woocommerce_shop_order_search_fields', 
return $search_fields; 

(有更多的代码,但由于我不知道如何编写代码,无法让它接受它,希望它足以显示另一篇文章中使用的关键函数是什么。)

现在我不确定它是如何连接到 post_meta 的,但也许搜索字段已经连接到 post_meta 了,问题是我的数据位于 Orders_Meta 文件夹中。他们的代码片段可以让我扩展搜索吗?

php wordpress woocommerce admin orders
1个回答
0
投票

使用以下可处理旧订单(WordPress“shop_order”帖子类型)和新的高性能订单存储(HPOS)的内容。

'_meta_key'
替换为所需的元键

// Make payment methods searchable
add_filter( 'woocommerce_order_table_search_query_meta_keys', 'makse_ja_tarne_otsing' ); // HPOS
add_filter( 'woocommerce_shop_order_search_fields', 'additional_wc_order_search_meta_keys' ); // Legacy
function additional_wc_order_search_meta_keys( $meta_keys ){
    $meta_keys[] = '_meta_key';

    return $meta_keys;
}

代码位于子主题的functions.php文件中(或插件中)。

在启用或不启用高性能订单存储 (HPOS) 的情况下在 WooCommerce 最新版本上进行测试和工作。

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