이거 뭐라고 표현해야 할지 모르겠는데 여튼간에, 기본 콘텐츠 포매팅 함수라고 대충 써 봤다. 그니까 뭐냐면… 각종 플러그인들이 the_content()를 건드리기 전의 순수한 the_content()를 말하는 거다.

예컨대, 팝업을 띄운다고 하자. 내용을 입력하고 첫 화면에 띄우고 싶다. 그런데 줄바꿈 한 건 p로 감싸고 싶고, SNS 버튼 플러그인이 붙여 준 SNS 버튼은 떼버리고 싶다. 어떻게 해야 할까? the_content 필터를 통과시키면 SNS 버튼이 붙어 버리고, 통과시키지 않으면 줄바꿈이 되지 않는다! 줄바꿈뿐이 아니다. 큰따옴표도 제대로 표현되지 않고, 워드프레스가 제공하는 Content Formatting에 관련한 여러 가지 효과를 모두 제대로 사용할 수 없게 된다. SNS 버튼 플러그인 때문에!

방법이 있다. 워드프레스는 Open Source니 검색을 했다. the_content로 전체 파일 검색을 한 거다. 그러니, the_content 필터에 기본 세팅되는 함수들을 찾을 수 있었다.(워드프레스 3.5 기준 wp-includes/default-filters.php 파일의 135라인) 그렇다. 이 함수들을 그냥 주욱 써 주면 되는 것이다.

아래 코드처럼 써 주면 된다.

$popover_content = wptexturize($popover_content);
$popover_content = convert_smilies($popover_content);
$popover_content = convert_chars($popover_content);
$popover_content = wpautop($popover_content);
$popover_content = shortcode_unautop($popover_content);
$popover_content = prepend_attachment($popover_content);
echo $popover_content;

각 함수들의 설명은 워드프레스 코드를 뜯어 보면 나온다. 이클립스에서 코드 점프 하면 된다. 내가 궁금했던 건 단순 줄바꿈을 brp 태그로 변경해 주는 거였는데, 그 함수는 wpautop()였다. wptexturize()'",,로 바꿔 주는 함수다.

뭐, 이정도면 됐겠지?