[wordpress] apply_filters (…)는 실제로 WordPress에서 무엇을합니까?

WordPress의 일부 기능을 이해하려고하는데 apply_filters (…)가 실제로 하는 일에 대해 머리를 이해할 수 없습니다 .

누군가가 몇 가지 예를 들어 나를 위해 이것을 정리할 수 있습니까?



답변

apply_filters($tag, $value)‘value’인수를 add_filter지정된 필터 ‘tag’에 ‘hooked'(사용 ) 각 함수에 전달합니다 . 각 함수는 값에 대해 일부 처리를 수행하고 시퀀스의 다음 함수에 전달할 수정 된 값을 반환합니다.

예를 들어, 기본적으로 (WordPress 2.9에서) the_content 필터는 다음 함수 시퀀스를 통해 값을 전달합니다.

  • wptexturize
  • convert_smilies
  • convert_chars
  • wpautop
  • shortcode_unautop
  • prepend_attachment
  • do_shortcode

답변

늦은 답변

간단한 설명

apply_filters() 상호 작용 global $wp_filters배열 . 기본적으로 현재 필터 (또는 후크)에 액션 (/ 콜백 함수)이 연결되어 있는지 확인한 다음 호출합니다.

긴 설명

콜백 / 액션을 필터 또는 후크에 연결할 때 전역 필터 배열에 콜백 이름을 추가하기 만하면됩니다. 코드의 호출 (예를 들어, 템플릿, 코어 또는 플러그인 파일)에 때 한 후, do_action()또는 apply_filters()발생 후 워드 프레스는 배열을 통해 검색 및 콜백을 호출합니다. 후크보다 필터에서 더 특별한 것은 콜백을 실행하는 대신 값 (추가 처리를 위해)을 반환한다는 것입니다. 요약하자면 후크는 데이터 를 삽입 하는 것이고 필터는 데이터 를 수정 하는 것입니다.


답변

가장 인기있는 답변과 추가 리소스를 고려하여 얻은 정보는 다음과 같습니다.

  • $ tag는 후크 이름의 동의어 인 것 같습니다. (그것은 나에게 특히 직관적이지 않습니다.)
  • the_content는 “필터”유형의 후크 예입니다.
  • the_content 후크는 여러 필터로 구성됩니다.
  • 필터는 데이터를 수정합니다. 기본적으로 데이터베이스를 필터링하여 사용자가보기 전에 데이터를 변경합니다.
  • 예를 들어 apply_filters ()의 일반적인 용도는 $ content에 the_content 필터를 적용하는 것입니다. 이 경우 이중 리턴은 <p>태그 로 변환되고 웃는 얼굴은 아이콘으로 변환됩니다.
  • “the_content”는 후크이고 “the_content ()”는 함수입니다.

답변

가장 기본적인 용어로 apply_filters는 필터 후크를 초기화하는 데 사용됩니다. add_filter는 이미 생성 된 후크에 새 기능을 할당합니다.


답변