要允许用户在 WooCommerce 中通过搜索订单备注来过滤订单,您可以考虑使用一些自定义代码来实现这一功能。以下是一种可能的方法:
打开主题的 functions.php
文件: 首先,您需要编辑您的 WordPress 主题的 functions.php
文件。请确保在编辑前备份文件,以防出现错误。
添加以下代码:
// 添加订单备注搜索框
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 后台的订单列表页面上添加一个搜索框,并允许用户搜索订单备注。
functions.php
文件,并在 WooCommerce 后台的订单列表页面上查看效果。现在,用户可以在搜索框中输入订单备注的关键词,并根据备注来过滤订单。请注意,这是一种简单的实现方式,您可以根据需要进行自定义和改进。确保您的主题兼容 WooCommerce 的版本,以避免潜在的冲突或问题。此外,随着 WooCommerce 的更新,代码可能需要进行调整以适应新的版本。