워드프레스에서 특성 이미지가 없는 글이 많은 경우에 테마에 따라 카테고리나 블로그 페이지에 특성 이미지(썸네일)가 표시되지 않을 수 있습니다.

특성 이미지가 없을 경우 체크하여 해당 글에서 첫 번째로 업로드된 이미지를 특성 이미지로 설정하도록 하면 이런 문제가 해결될 것입니다.

특성 이미지가 없는 경우에 글의 첫 번째 이미지를 자동으로 특성 이미지로 설정하는 방법으로 직접 코드를 사용 중인 함수 파일에 추가하거나 플러그인을 사용할 수 있습니다.

(참고로 워드프레스가 업데이트되면서 Featured Image의 번역이 '특성 이미지'에서 '대표 이미지'로 변경되었습니다.)

사용자 코드를 사용하여 자동으로 첫 번째 이미지를 특성 이미지로 설정하기

다음과 같은 코드를 테마의 함수 파일(functions.php)에 추가하여 테스트해보시기 바랍니다. 가급적 차일드 테마를 만들어 작업하는 것이 좋습니다(참고).

function auto_featured_image() {
global $post;

if (!has_post_thumbnail($post->ID)) {
$attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );

if ($attached_image) {
foreach ($attached_image as $attachment_id => $attachment) {
set_post_thumbnail($post->ID, $attachment_id);
}
}
}
}
// Use it temporary to generate all featured images; 모든 특성 이미지를 임시 생성하는 데 사용
add_action('the_post', 'auto_featured_image');
// Used for new posts, 새 포스트에 사용
add_action('save_post', 'auto_featured_image');
add_action('draft_to_publish', 'auto_featured_image');
add_action('new_to_publish', 'auto_featured_image');
add_action('pending_to_publish', 'auto_featured_image');
add_action('future_to_publish', 'auto_featured_image');
// 출처: gavick.com

위의 코드를 함수 파일에 추가하려면 FTP를 사용하면 됩니다. FTP 사용법은 이 글을 참고해보시기 바랍니다.

플러그인을 사용하여 첫 번째 이미지를 특성 이미지로 설정하기

위의 방법이 잘 안 되거나 차일드 테마를 사용하는 것이 번거롭게 여겨지는 경우 플러그인을 사용해볼 수 있습니다.

Easy Add Thumbnail - [워드프레스] 첫 번째 이미지를 자동으로 특성 이미지로 설정하는 방법

Easy Add Thumbnail이라는 플러그인이 이러한 역할을 하는 플러그인입니다. 플러그인 설명을 보면 "자동으로 특정 이미지를 글에 업로드된 첫 번째 이미지로 설정합니다(썸네일을 지원하는 모든 포스트 타입 지원).

플러그인을 사용하는 것은 바람직하지 않지만 간편하게 원하는 기능을 구현할 수 있습니다.

참고:

3 개 댓글

  1. 이번에 바꾼 테마는 처음 사용한 이미지를 특정이미지로 만들어주는 기능이 있습니다.
    그랬더니 전에 수동으로 넣었던 특정이미지가 본 글에서 제목보다 위에 나타나버리는군요.
    검색해보니 다음과 같이 차일드 테마에 넣으면 된다고 해서 차일드테마의 style.css에 넣어도 변화가 없네요. 어떻게 해야 할까요?
    .single-post .entry-featured{
    display:none;
    }

    • 테마 옵션 내에 보시면 특성 이미지를 표시하지 않도록 해주는 옵션이 있을 것 같습니다.

      만약 찾지 못하면 다음 코드를 사용하시면 됩니다.

      article[class*="type-"] .entry-cover {
      display: none !important;
      }

댓글 남기기

댓글을 입력해주세요!
이름을 입력해주세요