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

WooCommerce如何识别相关产品循环,仅用woocommerce_after_shop_loop_item_title钩子

在WooCommerce中识别当前循环并仅在相关产品循环中使用钩子

嘿,这个需求很常见!在WooCommerce里完全可以精准识别当前处于哪个产品循环,尤其是你想单独在相关产品循环里使用woocommerce_after_shop_loop_item_title钩子的场景,咱们来一步步实现:

核心思路:利用WooCommerce全局变量$woocommerce_loop

WooCommerce在初始化各类产品循环(比如店铺主循环、相关产品、 upsell产品、 cross-sell产品等)时,会维护一个全局的$woocommerce_loop数组,里面存储了当前循环的关键标识信息——其中的name字段就是循环的唯一名称,相关产品循环的name值固定为related_products。

具体实现代码

你只需要在钩子的回调函数里,先检查这个全局变量的值,再决定是否执行你的自定义代码:

add_action('woocommerce_after_shop_loop_item_title', 'custom_related_products_extra_content', 10);

function custom_related_products_extra_content() {
    // 引入WooCommerce循环的全局变量
    global $woocommerce_loop;

    // 精准判断当前是否为相关产品循环
    if (isset($woocommerce_loop['name']) && $woocommerce_loop['name'] === 'related_products') {
        // 这里写你要在相关产品标题后添加的内容
        echo '<span class="related-product-badge">你可能也喜欢</span>';
    }
}

额外小贴士

  • 如果你想进一步确保代码只在产品详情页生效(毕竟相关产品只会在产品页展示),可以在判断里再加一层is_product():
    if (is_product() && isset($woocommerce_loop['name']) && $woocommerce_loop['name'] === 'related_products') {
        // 你的代码
    }
    
  • 钩子的第三个参数10是默认优先级,如果你需要调整代码的执行顺序(比如要在其他插件内容之前/之后显示),可以修改这个数字,数字越小执行越早,越大越晚。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:31:01