the_title, the_excerpt, the_content와 같은 워드 프레스 기능을 피해야합니까?


15

나는 코드를 보았지만 같은 기능에서 탈출하는 the_title the_content the_excerpt것을 볼 수 없었습니다. 제대로 읽지 못할 수도 있습니다. 테마 개발에서 다음과 같은 기능을 피해야합니다.

esc_html ( the_title () )

편집 : 위의 코드 아래 답변에서 지적한 바와 같이 코드에 관계없이 잘못되었습니다. esc_html ( get_the_title () )


아니요, 이러한 기능은 이미 삭제되었으므로 반드시 그럴 필요는 없습니다. the_contentTinyMCE 편집기에서 HTML을 출력 하는 경우를 제외하고 입력합니다. 이것은 예를 들어 사용자가 프론트 엔드에서 작성한 양식 입력 또는 데이터를 위해 더 예약되어 있습니다.
Adam

답변:


15

탈출은 전적으로 함수를 사용하는 상황에 달려 있습니다. <h1>태그 내부에 표시 하기에 안전 value하고 입력 필드 의 속성에 대해 표시하기에 반드시 안전 하지는 않지만 href속성 값 으로 반드시 안전하지는 않습니다 ....

요컨대-당신이 그것을 출력으로 소독을 직접 수행하십시오. 비록의 경우 the_title ()get_the_title (), esc_html워드 프레스는 다음과 같은 기능을 적용하기 때문에, 필요하지 않습니다 :

참고 : the_title 제목을 인쇄하므로 esc_html ( the_title () )작동하지 않습니다. 마찬가지로, the_content내용을 인쇄합니다 (어쨌든 내용이 HTML을 표시 할 것으로 예상됩니다).


죄송합니다. 물론 esc_html (the_title ())이 작동하지 않습니다. 답변 주셔서 감사합니다.
byronyasgur

4
관련 : HTML 속성 에서 게시물 제목을 출력 하려면the_title_attribute()
Chip Bennett

6

예 및 아니요-해당 함수의 html을 출력할지 여부에 따라 다릅니다. the_content()예를 들어 이스케이프 하고 <div>태그 가 포함 된 경우 해당 태그는 실제로 &lt;div&gt;대신 페이지에 출력 됩니다.

그건 그렇고, 해당 함수의 출력을 피할 경우 get_the_content()해당 함수가 출력을 직접 반향하므로 "get_"에 해당하는 항목 (예 :)을 사용하고 싶을 것 입니다.


0

다음과 같은 함수를 작성하여 the_title 필터에 연결하면됩니다 .

function my_escape_title( $title ){
    return esc_html( $title );
}
add_filter( 'the_title', 'my_escape_title' );
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.