워드프레스 Enter+Shift와 Enter를 변경하는 방법

안녕하세요

 

워드프레스에서 엔터키를 사용할경우 단락이 넘어가면서 엄청난 간격이 생겨버리는데요

이점은 Enter+Shift로 해결할수있지만 게시판을 사용하는 대부분의 사용자들은 이런기능을 잘모르는경우가 많습니다

혹시 엔터를 눌러도 Enter+Shift로 변환되게는 할수없을까요?

 

최대한 줄간격을 줄이기위해 아래의 코드까지 변경하여 사용하고있는 상태인데 이러면 문제없는지도 궁금합니다

#kboard-default-document .kboard-content .content-view p { margin: 0 0 0.1em; }
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    보통 글을 작성할 때 Enter를 사용하면 <br> 태그가 두 번 들어갑니다.

    Shift+Enter를 사용하면 <br> 태그가 한 번 들어갑니다.

    document.php 페이지에 <p> 태그가 추가되는 건 사용하시는 테마가 문제의 원인일 수 있습니다.

    다른 테마에서는 문제가 없는지 확인해주세요.

    원인이 테마가 아니라면 다른 플러그인도 비활성화해서 원인이 어떤 건지 찾아보시겠어요?

    확인 가능한 페이지 주소도 알려주시겠어요?

    고맙습니다.

  • 답변 감사합니다

    테스트 게시판 주소 : https://www.w3umc.com/testpoint

     

    TinyMCE 플러그인을 사용중이고 Keep paragraph tags를 활성화해논상태입니다

    <p> 태그가 붙는원인은 Keep paragraph tags를 활성화시켰기 때문이고 이것을 작동중지시키면 아래와같은 현상이 일어나서 비활성화를 안시키고있습니다

    Keep paragraph tags를 활성화 안할경우 케이보드에서 게시글수정을 누를시 엔터키를 이용해서 줄간격을 한칸띄운것이 모두 사라져서 표시됩니다 (지금은 비활성화 시켜논상태입니다)

    줄간격을 줄이려고 많은 방법을 적용해봤지만 줄간격이 너무 차이가 나서 해결할 방법이있는지 질문드립니다

    그냥 모든글에서 Enter대신에 Enter+Shift로 적용되겠끔 변환이 가능했으면 좋겠는데 이런방법은 없는건가요?

     

    > 현재 Enter키를 누를경우

    안녕하세요

     

    테스트입니다

    안녕하세요

     

    > 적용후

    안녕하세요

    테스트입니다
    안녕하세요

  • 안녕하세요.

    워드프레스 에디터 자체를 변경하긴 좀 어려울 듯합니다.

    대신 출력 결과와 CSS 속성을 사용해보면 어떨까 합니다.

    우선 파일을 수정해주셔야 합니다.

    FTP로 접속해서 /wp-content/plugins/kboard/class/KBoardBuilder.class.php 파일을 수정해주세요.

     

    1. KBoardBuilder.class.php 파일에서 아래 코드를 찾아주세요.

    $content->content = nl2br($content->getContent());
    $content->content = preg_replace("/(<(|\/)(table|thead|tbody|tfoot|th|tr|td).*>)(<br \/>)/", "\$1", $content->getContent());

    2. 그리고 아래 고드로 교체 해주세요.

    $content->content = apply_filters('kboard_content_paragraph_breaks', $content->getContent(), $this);

    3. functions.php 파일에 아래 코드를 추가해주세요.

    add_filter('kboard_content_paragraph_breaks', 'wpautop');

    4. 워드프레스 관리자 -> KBoard -> 대시보드 페이지에 있는 커스텀 CSS 필드에 아래 코드를 추가해주세요.

    .content-view p { margin: 0 !important; }

     

    어떤지 확인해보시겠어요?

    KBoardBuilder.class.php 파일에는 필터를 기본으로 추가해서 업데이트 하겠습니다.

    고맙습니다.

  • 답변 감사합니다

    이번 코드는 어떤 식으로 작동되는지 이해가 힘든 코드인 것 같습니다

    어떻게 됐든 적용시켜서 원하는 결과를 얻게 되었습니다

    감사합니다

  • 워드프레스의 wpautop 함수는

    <p>내용</p>

    이런식으로 p 태그를 자동으로 추가해주는 함수입니다.

    추가된 p 태그에 줄간격을 없애는 CSS 코드를 추가해서 줄간격을 없앴습니다.

    고맙습니다.

  • KBoardBuilder.class.php 파일에는 필터를 기본으로 추가해서 업데이트 하겠습니다. => 업데이트가 되었나요?

  • 안녕하세요.

    KBoard 플러그인의 최신 버전의 KBoardBuilder.class.php 파일에

    해당 필터를 추가해두었습니다.

    최신 버전이 적용되어 있다면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    remove_filter('kboard_content_paragraph_breaks', 'kboard_content_paragraph_breaks', 10);
    add_filter('kboard_content_paragraph_breaks', 'wpautop');

     

    추가로 에디터에서 Enter와 Shift + Enter를 변경하시려면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에 functions.php 파일 하단에

    아래의 코드를 추가해보세요.

    add_filter('tiny_mce_before_init','change_mce_options');
    function change_mce_options($init){
    	$init["forced_root_block"] = false;
    	$init["force_br_newlines"] = true;
    	$init["force_p_newlines"] = false;
    	$init["convert_newlines_to_brs"] = true;
    	return $init;
    }

    고맙습니다.

  • 워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에 functions.php 파일 하단에 알려주신대로 아래의 코드를 추가했습니다.

    remove_filter('kboard_content_paragraph_breaks', 'kboard_content_paragraph_breaks', 10);
    add_filter('kboard_content_paragraph_breaks', 'wpautop');
    add_filter('tiny_mce_before_init','change_mce_options');
    function change_mce_options($init){
    	$init["forced_root_block"] = false;
    	$init["force_br_newlines"] = true;
    	$init["force_p_newlines"] = false;
    	$init["convert_newlines_to_brs"] = true;
    	return $init;
    }

    그랬더니 아래와 같은 메세지가 나타나면서 파일 업데이트가 안됩니다. ftp를 통해 functions.php 파일을 수정해도 괜찮을까요?

    "뭔가 잘못 됐습니다. 변경사항은 저장되지 않을 수도 있습니다. 다시 해주세요. 수동으로 수정하거나 FTP를 통해 파일을 업로드 해야 할 수도 있습니다."

  • 안녕하세요~^^

    모든 플러그인을 비활성화한 후에 다시 확인해보시겠어요?

    다른 테마로도 확인해보셔야 할 듯합니다.

    그래도 같은 문제가 지속된다면 폴더와 파일에 쓰기 권한 문제일 수도 있습니다.

    해당 서버 관리자(호스팅 업체)에게 문의해보시는 게 좋을 듯합니다.

     

    워드프레스 관리자 페이지에서 테마의 functions.php 파일에 코드를 추가할 수 없다면

    FTP로 접속해서 코드를 추가해주셔도 됩니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기