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

Woocommerce后台添加cross sell、up sell时仅展示有库存商品方法咨询

WooCommerce后台交叉/向上销售搜索仅展示有库存商品实现方案

WooCommerce后台编辑商品时,交叉销售(cross sell)、向上销售(up sell)的关联商品搜索走的是AJAX查询接口,我们可以通过钩子拦截返回的产品列表,过滤掉无库存且不允许背单的商品。你之前找到的代码仅作用于前端商品页的关联商品输出环节,无法干预后台接口返回的搜索结果,下述代码专门针对后台搜索逻辑做拦截,完全匹配需求。

将以下代码添加到你的WordPress主题functions.php文件,或自定义功能插件的代码文件中即可生效:

add_filter( 'woocommerce_json_search_found_products', 'filter_backend_cross_upsell_search_instock_only' );
function filter_backend_cross_upsell_search_instock_only( $products ) {
    foreach ( $products as $product_id => $product_name ) {
        $product = wc_get_product( $product_id );
        // 仅保留有库存,或允许缺货下单的商品
        if ( ! $product->is_in_stock() && ! $product->backorders_allowed() ) {
            unset( $products[$product_id] );
        }
    }
    return $products;
}

该过滤会作用于所有后台WooCommerce产品AJAX搜索场景,除交叉销售、向上销售外,其他后台产品搜索框也会遵循仅展示可售商品的规则,无需额外适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:15:01