Если мне удастся выполнить функции wordpress, такие как the_title, the_excerpt, the_content

Я посмотрел на код, но я не мог видеть никаких побегов над такими the_title как the_title the_content the_excerpt и т. Д. Возможно, я не читал его правильно. Нужно ли мне избегать этих функций в разработке тем, например:

esc_html ( the_title () )

Изменить: как указано в ответах ниже, код, указанный выше, неверен – код должен быть прочитан esc_html ( get_the_title () )

Solutions Collecting From Web of "Если мне удастся выполнить функции wordpress, такие как the_title, the_excerpt, the_content"

Escaping полностью зависит от контекста, в котором вы используете функции. Что безопасно отображать внутри тегов <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() ), поскольку эти функции непосредственно отражают их вывод.

Вы можете просто написать такую ​​функцию и подключить ее к фильтру the_title :

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