要允许用户在 WooCommerce 中通过搜索订单备注来过滤订单,您可以考虑使用一些自定义代码来实现这一功能。以下是一种可能的方法:

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

  1. 打开主题的 functions.php 文件: 首先,您需要编辑您的 WordPress 主题的 functions.php 文件。请确保在编辑前备份文件,以防出现错误。

  2. 添加以下代码:

// 添加订单备注搜索框
function add_order_note_search_field() {
    $search_text = isset($_GET['order_note_search']) ? sanitize_text_field($_GET['order_note_search']) : '';
    ?>
    <form method="get">
        <input type="hidden" name="post_type" value="shop_order" />
        <input type="text" name="order_note_search" value="<?php echo $search_text; ?>" placeholder="搜索订单备注" />
        <input type="submit" value="搜索" />
    </form>
    <?php
}
add_action('restrict_manage_posts', 'add_order_note_search_field');

// 处理搜索
function filter_orders_by_order_note($query) {
    global $pagenow;
    if (is_admin() && $pagenow == 'edit.php' && isset($_GET['post_type']) && $_GET['post_type'] == 'shop_order' && isset($_GET['order_note_search']) && !empty($_GET['order_note_search'])) {
        $search_text = sanitize_text_field($_GET['order_note_search']);
        $query>query_vars['meta_query'][] = array(
            'key' => '_order_note',
            'value' => $search_text,
            'compare' => 'LIKE',
        );
    }
}
add_action('pre_get_posts', 'filter_orders_by_order_note');

这段代码将在 WooCommerce 后台的订单列表页面上添加一个搜索框,并允许用户搜索订单备注。

  1. 保存并测试: 保存 functions.php 文件,并在 WooCommerce 后台的订单列表页面上查看效果。现在,用户可以在搜索框中输入订单备注的关键词,并根据备注来过滤订单。

请注意,这是一种简单的实现方式,您可以根据需要进行自定义和改进。确保您的主题兼容 WooCommerce 的版本,以避免潜在的冲突或问题。此外,随着 WooCommerce 的更新,代码可能需要进行调整以适应新的版本。