问题描述

我已经看了代码,但我看不到任何逃脱的功能像 the_title the_content the_excerpt 等我可能不会读正确。我需要在主题开发中逃避这些功能,如:

esc_html ( the_title () )

编辑:正如下面的答案所指出的,上面的代码是错的 – 代码应该有 esc_html ( get_the_title () )

最佳解决方案

转义完全取决于使用函数的上下文。在<h1> 标签中显示的内容是安全的,对于输入字段的 value 属性来说,并不一定是安全的,甚至不一定是 href 属性值的安全。

简而言之,您输出的时候自己执行消毒。虽然在 the_title ()get_the_title ()的情况下,esc_html 不是必需的,因为 WordPress 应用以下功能:

  • convert_chars

  • wptexturize

注意:the_title 打印标题 – 所以 esc_html ( the_title () )将无法正常工作。类似地,the_content 打印内容 (在任何情况下,您期望内容显示 HTML) 。

次佳解决方案

是和否 – 取决于是否要在这些函数中输出 html 。例如,如果您逃避 the_content(),并且它包含<div> 标签,则该标签实际上将以&lt;div&gt; 的形式输出到页面。

顺便说一下,如果您确实逃避了这些功能的输出,那么您将要使用它们的”get_” 等同物 (例如 get_the_content()) 作为这些函数直接回显输出。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。