WordPress br not working

[워드프레스] br 태그가 제대로 작동하지 않는 경우

워드프레스에서 줄바꿈 태그(br)나 문단 나누기 태그(p)가 제대로 작동하지 않는다는 문제를 호소하는 사용자를 간혹 접하게 됩니다. <br /> 태그가 제대로 작동하지 않을 경우 다음 사항을 체크해보시기 바랍니다.

TinyMCE Advanced 플러그인 비활성화 또는 사용

TinyMCE Advanced 플러그인을 사용하는 경우 이 플러그인을 비활성화하도록 합니다. (TinyMCE Advanced 플러그인으로 인해 이런 문제가 발생할 수 있습니다.) 또는, 이 플러그인을 설치하지 않았다면 이 플러그인을 설치하여 이 문제가 해결되는지 확인해봅니다.

바르지 않은 XHTML 자동 수정 비활성화

관리자 페이지의 왼쪽 사이드바에서 설정 > 쓰기를 클릭하고 “워드프레스는 바르지 않은 XHTML을 자동으로 바로 잡습니다.“의 체크를 해제합니다.

글 본문의 태그를 제거하는 함수가 사용되지 않았는지 확인

테마 함수 파일에서 remove_filter(‘the_content’,’wpautop’);가 사용되고 있는지 확인해봅니다. 그리고 태그를 제거하는 함수가 사용되고 있지 않은지 확인해봅니다. (예를 들어 the_contentstrip_tags가 적용되면 글에서 태그가 제거됩니다.)

필터 사용

다음 필터를 사용해보도록 합니다. 아마 이 필터를 사용하면 대부분 문제가 해결되지 않을까 생각됩니다. (잘 안 되면 TinyMCE Advanced 플러그인을 활성화거나 비활성화한 후에 각각 적용해보시기 바랍니다.)

function clear_br($content){
return str_replace("<br />","<br clear='none'/>", $content);
}
add_filter('the_content', 'clear_br');

또 다른 방법으로 다음 필터를 사용해보도록 합니다.

add_filter( 'tiny_mce_before_init', 'my_switch_tinymce_p_br' );

function my_switch_tinymce_p_br( $settings ) {
$settings['forced_root_block'] = false;
return $settings;
}

이 필터를 사용하면 Enter를 치면 <br> 태그가 입력되고, Shift+Enter를 입력하면 새 문단이 생성됩니다.

숏코드 사용

모든 방법을 다 동원해도 잘 안 되면 숏코드를 만들어 br 태그를 추가하는 방법을 생각해볼 수 있습니다만, 이 방법은 귀찮기 때문에 그다지 바람직하지 않을 것 같습니다.

function bio_shortcode($atts, $content = null) {
$content = wpautop(trim($content));
return '<div class="bio">' . $content . '</div>';
}
add_shortcode('bio', 'bio_shortcode');

[bio] 숏코드를 원하는 곳에 추가하면 줄바꿈 태그가 추가될 것입니다. wpautop 함수에 대한 자세한 내용은 WordPress Codex 페이지를 참고해보시기 바랍니다.

참고:

 



기부를 통해 이 블로그를 후원하실 수 있습니다.
워드프레스 설치/제작/문제해결이 필요한 경우 서비스(유료)를 요청해주세요.