Home 게시판 커뮤니티 Q&A 워드프레스 인라인 업로더를 사용할 경우

4개 답변, 2 voices Last updated by Avatar of 082net082net 18 years, 2 months 전
  • Avatar of cocogayacocogaya
    Participant
    @cocogaya
    #2114

    일단 알려 주신대로 적용하고 시도해 보겠습니다.

    직접 URL의 도메인 부분을 지우고 포스팅해도 리더기에서 읽혀져서, 그런 생각은 하질 못했습니다. 수작업으로 지우는 것이랑 아예 안나오게 하는것이랑 차이가 생기는지 확인해 봐야 겠습니다.

    2번 문제는 Archives를 클릭하였을때 해당 글의 썸네일과 excerpt 만으로 리스트를 보여주기 위해서인데 썸네일 크기가 통일되면 더욱 좋을 것 같아 문의한 것입니다.

    일단 답변해 주신대로 적용해 보겠습니다.

    감사합니다…^^

    Avatar of cocogayacocogaya
    Participant
    @cocogaya
    #2115

    워드프레스 내장 업로더를 사용하여 이미지를 업로드하고, 에디터로 보내면 아래와 같이 삽입이 됩니다.

    <img id="image228" alt="some text" src="http://my.domain.com/wp-content/i/2006/10/some_file.jpg">

    여기서 궁금한 것이 있습니다.

    질문 1 :

    src="http://my.domain.com/wp-content/i/2006/10/some_file.jpg"

    위 처럼 삽입된 경로 중 자신의 도메인 부분을 빼고

    src="/wp-content/i/2006/10/some_file.jpg"

    와 같이 출력하게 하려면 어떻게 해야 할까요?

    질문 2 :
    thumbnail을 사용할 경우 이미지의 가로 크기와 세로 크기 중 큰 것의 값을 96px (이미지가 큰 경우는 128px)로 thumbnail이 만들어 지더군요.

    이것을 무조건 가로 크기만 96px로 하고 세로 크기는 비율에 맞게 축소시켜 삽입할 수 있는 방법이 있을까요?

    ImageManager라는 플러그인도 한쪽 크기만 정해서 thumbnail을 만들수 없더군요…

    Avatar of cocogayacocogaya
    Participant
    @cocogaya
    #2117

    워드프레스 내장 업로더를 사용하여 이미지를 업로드하고, 에디터로 보내면 아래와 같이 삽입이 됩니다.

    <img id="image228" alt="some text" src="http://my.domain.com/wp-content/i/2006/10/some_file.jpg">

    여기서 궁금한 것이 있습니다.

    질문 1 :

    src="http://my.domain.com/wp-content/i/2006/10/some_file.jpg"

    위 처럼 삽입된 경로 중 자신의 도메인 부분을 빼고

    src="/wp-content/i/2006/10/some_file.jpg"

    와 같이 출력하게 하려면 어떻게 해야 할까요?

    질문 2 :
    thumbnail을 사용할 경우 이미지의 가로 크기와 세로 크기 중 큰 것의 값을 96px (이미지가 큰 경우는 128px)로 thumbnail이 만들어 지더군요.

    이것을 무조건 가로 크기만 96px로 하고 세로 크기는 비율에 맞게 축소시켜 삽입할 수 있는 방법이 있을까요?

    ImageManager라는 플러그인도 한쪽 크기만 정해서 thumbnail을 만들수 없더군요…

    Avatar of 082net082net
    Keymaster
    @082net
    #2116

    아래 제시한 방법 모두 워드프레스 기본 파일을 수정하는 것이므로 적용하기전에 파일을 백업해 두는걸 잊지 마시기 바랍니다 (!)

    1. URL을 서버루트를 제외한 경로로 표시하기.

    기존의 주소를 parse_url 처리 한 변수의 ‘path’ 정보로 바꾸면 됩니다.

    inline-uploading.php 파일을 열어 235번줄 부근에 아래처럼 관련 내용을 추가해 보세요.

                $thumbtext = $__no_thumbnail;
             }
             $parse_src = parse_url($src);//추가됨
             $src = $parse_src['path'];//추가됨
             list($image['uwidth'], $image['uheight']) = get_udims($image['width'], $image['height']);

    위에 기본을 두고, inline-uploading.php의 내용을 살펴보면서 필요한 부분을 수정하시면 원하시는 결과를 얻으실 수 있습니다.
    그런데, 이렇게 하면 FEED 구독자들에게는 이미지가 깨져보이지 않나요?

    2. admin-functions.php에 포함된 wp_create_thumbnail 함수 자체에서 이미지의 가로, 세로 중 길이가 긴쪽에 기준을 맞추도록 하고 있습니다.

    admin-functions.php의 737번줄 부근을 보면 아래와 같은 내용이 있습니다.

             if ($image_attr[0] > $image_attr[1]) {
                $image_width = $image_attr[0];
                $image_height = $image_attr[1];
                $image_new_width = $max_side;

                $image_ratio = $image_width / $image_new_width;
                $image_new_height = $image_height / $image_ratio;
                //width is > height
             } else {
                $image_width = $image_attr[0];
                $image_height = $image_attr[1];
                $image_new_height = $max_side;

                $image_ratio = $image_height / $image_new_height;
                $image_new_width = $image_width / $image_ratio;
                //height > width
             }

    내용과 주석을 보시면 아실 수 있듯이 가로가 세로보다 클때, 세로가 가로보다 클때의 경우로 나누어서 $image_new_width $image_new_height값을 지정하고 있습니다. 이 부분을 항상 가로가 세로보다 클때의 경우에 맞도록 변경 하신다면 원하시는 결과를 얻으실 수 있을듯 하군요.

                $image_width = $image_attr[0];
                $image_height = $image_attr[1];
                $image_new_width = $max_side;

                $image_ratio = $image_width / $image_new_width;
                $image_new_height = $image_height / $image_ratio;

    이 부분만을 남기고 나머지 부분들을 주석처리하거나 삭제 해 보세요.

    하지만 이렇게 처리하면 이미지 세로길이는 96px을 넘지만 가로 길이는 96px이 되지 않는 경우, 가로 길이를 96px로 늘려버리는 경우가 발생하겠군요.

    추가적으로 128px를 적용하지 않고 일괄적으로 96px로 맞추려면 inline-uploading.php파일의 87~91번줄 부근을 살펴보신뒤 맞게 수정하시고, 파일 내에서 ‘128’ 로 검색하셔서 이미지 크기와 관련된 부분이 있다면 또한 96으로 수정하시면 됩니다.

       if ( $imagedata['width'] * $imagedata['height'] < 3 * 1024 * 1024 ) {
          if ( $imagedata['width'] > 128 && $imagedata['width'] >= $imagedata['height'] * 4 / 3 )
             $thumb = wp_create_thumbnail($file, 128);
          elseif ( $imagedata['height'] > 96)
             $thumb = wp_create_thumbnail($file, 96);

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
    Avatar of 082net082net
    Keymaster
    @082net
    #2118

    아래 제시한 방법 모두 워드프레스 기본 파일을 수정하는 것이므로 적용하기전에 파일을 백업해 두는걸 잊지 마시기 바랍니다 (!)

    1. URL을 서버루트를 제외한 경로로 표시하기.

    기존의 주소를 parse_url 처리 한 변수의 ‘path’ 정보로 바꾸면 됩니다.

    inline-uploading.php 파일을 열어 235번줄 부근에 아래처럼 관련 내용을 추가해 보세요.

                $thumbtext = $__no_thumbnail;
             }
             $parse_src = parse_url($src);//추가됨
             $src = $parse_src['path'];//추가됨
             list($image['uwidth'], $image['uheight']) = get_udims($image['width'], $image['height']);

    위에 기본을 두고, inline-uploading.php의 내용을 살펴보면서 필요한 부분을 수정하시면 원하시는 결과를 얻으실 수 있습니다.
    그런데, 이렇게 하면 FEED 구독자들에게는 이미지가 깨져보이지 않나요?

    2. admin-functions.php에 포함된 wp_create_thumbnail 함수 자체에서 이미지의 가로, 세로 중 길이가 긴쪽에 기준을 맞추도록 하고 있습니다.

    admin-functions.php의 737번줄 부근을 보면 아래와 같은 내용이 있습니다.

             if ($image_attr[0] > $image_attr[1]) {
                $image_width = $image_attr[0];
                $image_height = $image_attr[1];
                $image_new_width = $max_side;

                $image_ratio = $image_width / $image_new_width;
                $image_new_height = $image_height / $image_ratio;
                //width is > height
             } else {
                $image_width = $image_attr[0];
                $image_height = $image_attr[1];
                $image_new_height = $max_side;

                $image_ratio = $image_height / $image_new_height;
                $image_new_width = $image_width / $image_ratio;
                //height > width
             }

    내용과 주석을 보시면 아실 수 있듯이 가로가 세로보다 클때, 세로가 가로보다 클때의 경우로 나누어서 $image_new_width $image_new_height값을 지정하고 있습니다. 이 부분을 항상 가로가 세로보다 클때의 경우에 맞도록 변경 하신다면 원하시는 결과를 얻으실 수 있을듯 하군요.

                $image_width = $image_attr[0];
                $image_height = $image_attr[1];
                $image_new_width = $max_side;

                $image_ratio = $image_width / $image_new_width;
                $image_new_height = $image_height / $image_ratio;

    이 부분만을 남기고 나머지 부분들을 주석처리하거나 삭제 해 보세요.

    하지만 이렇게 처리하면 이미지 세로길이는 96px을 넘지만 가로 길이는 96px이 되지 않는 경우, 가로 길이를 96px로 늘려버리는 경우가 발생하겠군요.

    추가적으로 128px를 적용하지 않고 일괄적으로 96px로 맞추려면 inline-uploading.php파일의 87~91번줄 부근을 살펴보신뒤 맞게 수정하시고, 파일 내에서 ‘128’ 로 검색하셔서 이미지 크기와 관련된 부분이 있다면 또한 96으로 수정하시면 됩니다.

       if ( $imagedata['width'] * $imagedata['height'] < 3 * 1024 * 1024 ) {
          if ( $imagedata['width'] > 128 && $imagedata['width'] >= $imagedata['height'] * 4 / 3 )
             $thumb = wp_create_thumbnail($file, 128);
          elseif ( $imagedata['height'] > 96)
             $thumb = wp_create_thumbnail($file, 96);

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
5 글 보임 - 1에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.