728x90
반응형
오늘은 포스트의 특성 이미지에 이미지를 지정하지 않을 경우 리스트나 특정 페이지에 해당 게시물의 썸네일 이미지 부재로 인해 빈 공간으로 나오는 것을 방지해 줄 수 있도록 포스트의 첫 이미지를 추출하여 사용하는 방법을 살펴보겠습니다.
우선 테마의 function.php 파일에 아래의 소스를 추가합니다.
// 포스트 첫 이미지 추출 function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; // no image found display default image instead if(empty($first_img)){ $first_img = "/images/default.png"; } return $first_img; }만약 해당 포스트에도 이미지가 존재하지 않을 경우를 대비해 특정 폴더에 default 이미지를 만들어 두어 사용할 수 있도록 작은 배려도 해두었습니다.
그리고 이미지를 출력하고자 하는 위치에 아래의 소스를 추가하여 원하는 형태로 출력을 조정하시면 됩니다.
<a href="<?php the_permalink() ?>"> <?php if ( has_post_thumbnail() ) { the_post_thumbnail('medium', array('class' => 'blogimg')); } else { $thhumbimg = catch_that_image(); echo '<div style="width:250px;height:128px;background:#f5f5f5 url('.$thhumbimg.') no-repeat 50% 50%;background-size:300px;"></div>'; } ?> </a>특성이미지가 존재하면 특성이미지를 사용하고 만약 특성이미지가 없다면 포스트의 첫 이미지를 사용할 수 있도록 수정된 부분입니다. 이렇게 하시면 특성이미지를 사용하면서 포스트의 첫 이미지를 사용할 수 도 있게 됩니다.
728x90
반응형
'IT > CMS' 카테고리의 다른 글
github 페이지를 활용한 블로그 만들기(HEXO 활용) (0) | 2024.12.12 |
---|---|
그누보드 관리자 여러 명 추가하여 사용하기 (0) | 2024.12.02 |
[워드프레스] 게시물 추출 글자 수 제한 처리하기 (0) | 2012.11.19 |
워드프레스의 포스트를 해외 및 국내 SNS로 공유하기 (3) | 2012.10.29 |
워드프레스 멀티사이트에 단독 도메인 사용하기! (0) | 2012.08.31 |