我是否应该转义WordPress函数,如_title、_Excerpt、_Content

时间:2012-05-18 作者:byronyasgur

我看过代码,但在函数上看不到任何转义,例如the_title the_content the_excerpt等等。我可能读得不对。我是否需要在主题开发中避开这些功能,例如:

esc_html ( the_title () )

编辑:正如下面的答案所指出的,无论怎样,上述代码都是错误的-代码应该已经阅读esc_html ( get_the_title () )

3 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

转义完全取决于使用函数的上下文。什么东西可以在里面安全展示<h1> 标签,对于value 属性,即使作为href 属性值。。。。

简而言之,在输出时自己进行消毒。尽管在the_title ()get_the_title (), esc_html 不需要,因为WordPress应用以下功能:

Note: the_title 打印标题-soesc_html ( the_title () ) 行不通。同样地,the_content 打印内容(在任何情况下,您都希望内容显示HTML)。

SO网友:Joseph Leedy

是和否-取决于您是否希望输出这些函数中的html。如果你逃跑了the_content(), 例如,它包含<div> 标记,该标记实际上将作为&lt;div&gt; 相反

顺便说一下,如果您确实转义了这些函数的输出,那么您将希望使用它们的“get\\uu”等价物(例如。get_the_content()) 因为这些函数直接响应其输出。

SO网友:meteliov

您只需编写这样的函数并将其挂接到the_title 过滤器:

function my_escape_title( $title ){
    return esc_html( $title );
}
add_filter( \'the_title\', \'my_escape_title\' );

结束

相关推荐

Security and .htaccess

大约一个月前,我在一个与爱好相关的托管服务器上创建了一个WordPress博客。所以,我目前还不熟悉这一点。由于我担心安全性,我做的一件事就是安装插件WP安全扫描。根据插件结果,我的网站会被检查出来,但我在结果中看到的是一个红旗:文件。wp admin中不存在htaccess/(我在那里ssh了,它不存在)好的,所以我在这个问题上做了大量的搜索,找到了太多的信息。htaccess。我在WordPress上经历了强化WordPress。org网站等,也遇到了这篇文章:http://digwp.com/201