問題描述

我已經看了代碼,但我看不到任何逃脱的功能像 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。