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

如何将Goodlayers Infinite主题商店页查看详情按钮改为添加到报价按钮

替换Goodlayers Infinite主题查看详情按钮为ELEX报价按钮的调整方案

你之前的代码不生效的核心原因是:add_filter的第一个参数需要是WordPress核心、主题或插件预先注册的过滤器钩子名称,你填入的gldr-core-product-view-detail是按钮的CSS类名,不存在对应的过滤器,所以代码不会触发执行。

下面提供两种可行的实现方案:

方案1:前端JS替换(无需查找主题钩子,生效最快)

将以下JS代码添加到主题后台「自定义-自定义CSS/JS」的自定义JS输入框中,或者子主题footer.php文件的</body>标签前即可:

document.addEventListener('DOMContentLoaded', function() {
  // 匹配所有查看详情按钮
  document.querySelectorAll('.gdlr-core-product-view-detail').forEach(function(oldBtn) {
    // 可替换为ELEX插件原生按钮的HTML结构,保持样式和功能正常
    oldBtn.outerHTML = '<button class="elex-add-to-quote gdlr-core-button">添加到报价</button>';
  });
});

如果需要保留ELEX插件原生的报价功能,你可以先在测试页面输出ELEX的[add_to_quote]短代码,复制生成的按钮HTML替换上面的按钮代码即可。

方案2:PHP钩子替换(更符合WordPress开发规范)

将以下代码添加到子主题的functions.php文件中:

add_filter('gdlr_core_woocommerce_product_button', 'replace_detail_btn_to_quote', 20, 2);
function replace_detail_btn_to_quote($origin_btn, $product) {
    // 调用ELEX插件原生的添加到报价按钮生成函数
    if (function_exists('elex_quote_get_add_to_quote_button')) {
        return elex_quote_get_add_to_quote_button($product->get_id());
    }
    // fallback方案,插件未激活时返回原按钮
    return $origin_btn;
}

如果上述钩子不生效,你可以直接找到主题的商品列表模板文件(通常路径为主题目录/woocommerce/loop/product-button.php或主题目录/templates/woocommerce/item.php),手动将原查看详情按钮的代码替换为ELEX插件的按钮代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:51:00