如何修改代码将WordPress页面标题作为URL参数传入Pardot表单iframe?
给Pardot iframe嵌入代码添加WordPress页面标题参数
目前你已经通过页面模板实现了将主窗口URL参数传入Pardot表单iframe的功能,现在要额外把WordPress页面标题(非完整meta标题)作为URL参数传递,修改方法如下:
核心思路
在WordPress模板的JS代码中,直接用PHP获取当前页面的标题,编码后拼接到iframe的URL参数里。因为是在模板文件中,PHP可以直接输出变量给JS使用,同时要处理好原有参数和新参数的拼接逻辑(判断原有参数是否存在,决定用?还是&)。
修改后的完整代码
<script type="text/javascript"> // 用PHP获取当前页面标题并编码,避免特殊字符问题 var pageTitle = '<?php echo urlencode(get_the_title()); ?>'; var form = 'https://go.sample.com/XXX/YYY/'; var params = window.location.search; var thisScript = document.scripts[document.scripts.length - 1]; var iframe = document.createElement('iframe'); // 拼接页面标题参数 var titleParam = 'page_title=' + pageTitle; // 判断原有参数是否存在,决定拼接符号 var fullParams = params ? params + '&' + titleParam : '?' + titleParam; iframe.setAttribute('src', form + fullParams); iframe.setAttribute('width', '100%'); iframe.setAttribute('height', 700); iframe.setAttribute('type', 'text/html'); iframe.setAttribute('frameborder', 0); iframe.setAttribute('allowTransparency', 'true'); iframe.setAttribute('id', 'formiFrame'); iframe.style.border = '0'; thisScript.parentElement.replaceChild(iframe, thisScript); </script>
关键说明
- 获取页面标题:使用WordPress内置函数
get_the_title()直接获取当前页面的标题,无需依赖前端document.title(避免meta标题的干扰)。 - 编码处理:用
urlencode()对标题进行URL编码,防止标题里的空格、特殊字符破坏URL结构。 - 参数拼接逻辑:如果原有URL已经有参数(
window.location.search不为空),就用&连接新参数;如果没有参数,就用?开头添加新参数,保证URL格式正确。
内容的提问来源于stack exchange,提问作者Alleycat
相关产品推荐
相关产品推荐

