不,当您的快捷码运行时,标题已经通过网络发送,甚至帖子标题。现在更改已发送的内容(即到达之前的所有内容)为时已晚the_content
.
有一种方法可以“做到”,但它的成本非常非常高,而且不可靠。在每一页的开头启动一个输出缓冲区,然后在结尾处理该页。然而,这将:
完全cripple TTFB/时间到第一个字节,使页面变慢,消除客户端的所有渐进式渲染,以及网络端的并行化。这可能会对SEO排名产生影响shutdown
钩子,如果永远无法达到此目标,则页面上不会显示任何内容,用户将看到一个完全空白的页面,没有任何标记,这会增加字符串解析HTML的开销,这可能会变得混乱。它需要一个支持基础设施来注册所有要添加的内容,否则,如果您试图刷新短代码中的输出缓冲区,您将无法再次使用该短代码,您要添加的大部分内容将因未通过而被WordPress删除wp_kses_post
保存时。解决这一问题将意味着打开主要的安全漏洞,从根本上说,这不是解决这些问题的方法
相反,如果要将JSON-LD添加到标头中,则应使用PHP代码将其添加到wp_head
钩子,或者如果可能的话,在页脚或页面下方。除了在帖子内容中嵌入不能直接放入帖子内容的内容外,你不应该依赖短代码,例如iframes或像交互式图形这样的花哨javascript功能