如何在WordPress的<embed>标签中拼接当前URL的指定部分到src属性
解决方案:在WordPress中动态生成带URL后缀的Embed代码
要实现这个需求,我们可以用前端JavaScript来获取当前URL的指定后缀部分,再和自定义URL拼接后动态设置embed的src属性。下面是两种实用的实现方案,你可以根据自己的场景选择:
方案一:修改现有Embed元素
如果你已经在页面里放置了embed标签,可以给它加一个唯一ID,然后通过JS动态更新src:
<!-- 先在页面中添加带ID的Embed标签(可保留width/height等原有属性) --> <embed id="custom-embed" src="" width="100%" height="600" type="text/html"> <script> // 1. 提取当前URL路径的最后一段后缀 const pathParts = window.location.pathname.split('/').filter(part => part.trim() !== ''); const targetSuffix = pathParts.pop(); // 比如从"/info/astalavista"中取出"astalavista" // 2. 定义你的自定义基础URL(记得带上协议,比如https://) const baseEmbedUrl = 'https://othersite.com/directory/something/'; // 3. 拼接完整的Embed地址并设置给元素 const embedElement = document.getElementById('custom-embed'); if (embedElement && targetSuffix) { embedElement.src = `${baseEmbedUrl}${targetSuffix}`; } </script>
方案二:动态创建Embed元素
如果想直接在页面指定位置生成embed标签,可以用这个方法:
<!-- 准备一个容器来放置生成的Embed --> <div id="embed-wrapper"></div> <script> // 提取URL后缀 const pathParts = window.location.pathname.split('/').filter(part => part.trim() !== ''); const targetSuffix = pathParts.pop(); // 自定义基础URL const baseEmbedUrl = 'https://othersite.com/directory/something/'; // 仅当成功获取到后缀时才创建Embed if (targetSuffix) { const fullEmbedUrl = `${baseEmbedUrl}${targetSuffix}`; // 创建Embed元素并设置属性 const newEmbed = document.createElement('embed'); newEmbed.src = fullEmbedUrl; newEmbed.width = '100%'; newEmbed.height = '600'; newEmbed.type = 'text/html'; // 根据嵌入内容调整类型,比如PDF用"application/pdf" // 将Embed插入到容器中 document.getElementById('embed-wrapper').appendChild(newEmbed); } </script>
在WordPress中的使用方式
- 古腾堡编辑器:直接添加「自定义HTML」区块,把上面的代码粘贴进去即可。
- 主题模板:如果需要在特定页面/全局生效,可以把代码添加到主题的
page.php、single.php或footer.php文件中(建议使用子主题修改,避免主题更新丢失代码)。 - 注意事项:确保你的自定义基础URL包含完整的协议(
https://),避免出现相对路径错误;代码会自动处理URL末尾带斜杠的情况(比如mysite.com/info/astalavista/也能正确提取astalavista)。
内容的提问来源于stack exchange,提问作者Otar
相关产品推荐
相关产品推荐

