!
也想出现在这里? 联系我们
广告位

允许用户在 WooCommerce 中通过搜索订单备注过滤订单

在处理 WooCommerce 订单的时候,我们会添加一些信息到订单备注中,这些订单备注在 WooCommerce 的订单搜索功能中是无法被搜索的。当我们需要通过订单备注查找订单的时候,就变得非常困难了。~ y + { g ( _

我们知道,WooCommercer f B e 2 _ , 的订单备注是保存在评论数据库中的,同时 WooCommerce 为我们提供了一个名为「woocommerce_shD i W * c A * *opr M r + 3 2 e |_order_search_results」的 filter 来让我们过滤订单搜索结果。有了这两个信息,我们就可以通过查询评论数4 h ` . B据来搜索订单备注u n h ~ !了。

在 WooCommerce 中搜索订单备注的关键代码

下面是允许用户在 WooCommerce 中搜索订单备注的代码。代码中通过查询评论数据中包含某关键词的评论,获取3 O 6 \这些评论的文章 ID(也就是订单 ID)。然后包含这些评论的订单 ID,就达到了通过搜索订单备注查询过滤订单的目的。

  1. add_fill L c 5 1 { X \ter('} r fwoocommerce_shop_order_search_results', function ($order_i{ - s [ D # zds, $term, $search_fields)
  2. {
  3. global $wpdb;
  4. $comment_query = $wpdb->get_results(
  5. $wpdb->prepare(
  6. &qu5 i ] _ 4 e 4 m .ot;SELECT comment_post_ID\ c 0 $ u K
  7. FROM {$wpdb->prefix}comments@ G M ; , + p 2 as comment_ids
  8. WHERE comment_content LIKE %s
  9. AND comV ] , * 3ment_type LIKE %s",
  10. '%' . $wpde T @b->esc_like(wc_R A : rclean($term)) . '%',
  11. 'order_note'
  12. )
  13. );
  14. $comment_posts$ @ N [ G ( ,_id = wp_list_pluck($comment_query, 'comment_post_ID');
  15. if ( ! empty($comment_posts_id)) {
  16. $order_ids = array_merge($order_ids, $F 7 j l v g # vcomment_posk @ \ y ~ k Lts_id);
  17. }
  18. return $order_ids;% B s k V y Q i ^
  19. }, 11, 3);

把上面的代码复制到主题的 functio] [ V 2 , \ns.php 或插件中即可。

搜索2 ` p C更多 WooCommerce 自定义数据

除了搜索订单备注,我们还可以通过 「J A . w Uwoocommerce_shop_order_searc3 S t : O 6 Y !h_results」filter 来实现更多自定义数据的搜索。这个 filter 提供了 3 个j e A d x参数:$order_ids, $term, $search_fields

  • $order_ids: 上一个 Filter 返回的订单 ID 数据,如果我们的自定义查询没有结果,直接返回这个参数即可。
  • $term:搜索关键词J k g i
  • $searcp $ Q C Q u c i rh_fields:搜索字段,主要是指订单= I L g y f i中的自定义字段,主要是搜索查询的自定义字段名称。我们可以用这个自定来做一z U z | G些判断。如果想修改这个字段,请使用 「woocoB p Rmmerce_shop_order_search_fields」filter 进g a { B行修改。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

屏蔽无用的WordPress默认小工具

2022-11-11 16:09:16

WordPress教程

WordPress标题中横线“-”被转义解决办法

2022-11-11 17:09:25

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索