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

如何在Gutenberg编辑器中实现产品页到表单页的动态URL预填充

解决Jetpack联系表单预填充产品标题的问题

方法1:自定义短代码(仅需添加少量PHP到主题)

虽说你不想碰PHP,但这是最靠谱的无JS方案,而且只需要往子主题的functions.php(别改父主题,避免主题更新丢失代码)里加这段短代码:

add_shortcode('product_inquiry_link', function() {
    global $product;
    if (is_product() && $product) {
        $encoded_title = urlencode($product->get_name());
        return '<a href="/inquiry-page?g1811-original=' . $encoded_title . '">Inquire</a>';
    }
    return '';
});

添加完成后,在Gutenberg编辑器的产品页面(或产品模板)中插入一个短代码块,输入[product_inquiry_link]即可。这个短代码会自动识别当前产品标题,编码后插入到链接参数中,避免标题里的空格、特殊字符破坏URL结构。

方法2:使用Gutenberg动态内容插件(完全无需PHP)

要是完全不想碰代码,可以安装支持动态内容的Gutenberg插件,比如Advanced Custom Fields (ACF) 或Gutenberg Dynamic Fields:

  • 安装并激活插件后,在Gutenberg中插入一个HTML块
  • 输入链接时,用插件提供的动态标签替换[post_title],比如ACF的[acf field="post_title"](需先开启ACF的动态短代码功能),或插件自带的产品标题动态标签
  • 注意确保标题被URL编码,部分插件会自动处理,若未处理,可使用插件的URL编码功能包裹动态标签

验证效果

不管用哪种方法,最终生成的链接应该是类似/inquiry-page?g1811-original=Product%20Name的格式(带实际产品标题的编码内容),而非保留[post_title]纯文本。点击链接进入询盘页面后,Jetpack表单的g1811-original字段会自动填充产品标题——因为你已经将查询参数和表单字段名对应匹配。

补充:WooCommerce自带短代码本身不支持直接在链接中插入动态产品标题,所以你之前尝试无效是正常情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:42:24