You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce后台新建订单添加商品模态框搜索结果如何加缩略图

WooCommerce后台新建订单添加商品模态框默认效果

实现方法

直接用WooCommerce官方提供的公开过滤器就能实现,不需要改核心代码,兼容3.0及以上所有版本。
默认的商品搜索接口会自动剥离返回值里的HTML标签,所以首先要放开这个限制,再给每个搜索结果拼接上对应商品的缩略图,调整好样式不打乱原有布局就行。

把下面代码放到当前主题的functions.php文件,或者自定义功能插件里即可生效:

// 仅针对后台订单页的商品搜索请求,放开HTML标签剥离限制
add_filter('woocommerce_json_search_products_strip_tags', function($strip_tags){
    if (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] === 'woocommerce_json_search_products') {
        return false;
    }
    return $strip_tags;
});

// 给搜索返回的商品项前追加对应缩略图
add_filter('woocommerce_json_search_found_products', function($products, $search_term, $search_limit){
    // 只在订单添加商品的搜索场景生效,不影响其他位置的商品搜索
    if (!is_admin() || !isset($_REQUEST['action']) || $_REQUEST['action'] !== 'woocommerce_json_search_products') {
        return $products;
    }

    foreach ($products as $product_id => $product_name) {
        $product = wc_get_product($product_id);
        if (!$product) continue;
        // 用32px尺寸缩略图,加基础样式对齐文字,避免破坏原有布局
        $thumbnail = $product->get_image('thumbnail', [
            'style' => 'width:32px;height:32px;object-fit:cover;margin-right:8px;vertical-align:middle;border-radius:2px;'
        ]);
        $products[$product_id] = $thumbnail . wp_kses_post($product_name);
    }

    return $products;
}, 10, 3);

说明

  • 代码自动兼容简单商品、变量商品、商品变体等所有WooCommerce商品类型,不需要额外加判断
  • 要调整缩略图大小直接改代码里的width、height数值即可,建议不要超过40px,否则会撑高搜索结果项
  • 两个过滤器都是WooCommerce公开的稳定钩子,后续版本升级不会失效

内容的提问来源于stack exchange,提问作者HS'

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:27:13