Home 게시판 커뮤니티 Q&A 최신글 제목 자르기

2개 답변, 1 voice Last updated by Avatar of malmizalmalmizal 14 years, 9 months 전
  • Avatar of malmizalmalmizal
    Participant
    @malmizal
    #3998

    substr을 이용할 경우 한글을 일정한 숫자로 자를때 multi-byte 문자 특정상 자른 글자의 마지막 부분이 깨져버리는 문제 때문에, 제 경우는 개인적으로 함수를 만들어 사용해 왔습니다만, 이번에 워드프레스 함수를 뒤져보니, 그 문제를 해결한 것으로 보이는 함수가 존재하더군요.

    wp_html_excerpt() 라는 함수입니다.

    다른 곳에 있는 제목을 짧게 줄이는 경우는 테마의 템플릿 파일에서 해당 부분을 찾아서 wp_html_excerpt함수를 적용해 주면 되지만, 사이드 바의 경우 위젯을 사용하는게 요즘 일반적이고 이 위젯들이 워드프레스의 함수를 이용해서 출력되기때문에(기본 위젯의 경우), 이 함수 자체를 수정하거나 (이 방법은 여러모로 권장하고 싶지 않네요) 플러그인을 만들어서 적용하는 방법밖에는 없습니다.

    그나마 가장 간단한 방법 하나를 소개해 드릴께요.(default 테마 기준)

    themes/default/sidebar.php 파일을 열어 맨 위에 아래 내용을 추가하세요.
    (sidebar.php를 수정하는 이유는 다른곳이 아닌 사이드바 위젯에만 적용시키기 위함입니다. 다른 곳의 글 제목이 모두 짧게 잘려버리면 안되겠죠.)

    <?php
    function my_title_excerpt($title) {
       $title = wp_html_excerpt($title, 80);
       return $title;
    }
    add_filter('the_title', 'my_title_excerpt');
    ?>

    위에서 ’80’ 대신에 원하시는 글자수를 넣어주시면 됩니다.

    이제 sidebar.php의 맨 아래에 아래 내용을 추가하세요.
    (적용시켰던 함수를 다시 제외 시켜줍니다.)

    <?php
    remove_filter('the_title', 'my_title_excerpt');
    ?>

    이렇게 하면 모든 사이드바 위젯들에서 "글의 제목"들이 모두 80글자 이내로 잘리게 될겁니다.

    시간이 여의치 않아 직접 테스트해 보진 않았지만, 어느정도의 해결책은 될거에요.

    즐거운 워프나날이 되시길~

    Avatar of malmizalmalmizal
    Participant
    @malmizal
    #3999

    사이드바에 최신글 불러올때 제목을 일정 글자수 이하로 자르고 싶습니다.
    substr…. 를 사용하는 거 같은데
    어떻게 응용해야 하는지 잘 모르겠네요.

    워드프레스 입문자입니다.
    답변 부탁드립니다. 😕

    Avatar of malmizalmalmizal
    Participant
    @malmizal
    #4000

    사이드바에 최신글 불러올때 제목을 일정 글자수 이하로 자르고 싶습니다.
    substr…. 를 사용하는 거 같은데
    어떻게 응용해야 하는지 잘 모르겠네요.

    워드프레스 입문자입니다.
    답변 부탁드립니다. 😕

3 글 보임 - 1에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.