목차
1. 카테고리 글 목록 작성하기
2. 포스트 하단에 위치시키기
2-1. 플러그인 사용 ver.
2-2. 코드 직접 입력 ver.
3. 적용 모습
카테고리 글 목록은 플러그인으로 만들고, 포스트 글 하단에 위치시키는 방법은 플러그인 사용/미사용 버전으로 작성해 보았습니다. 참고로 본 내용을 적용해 본 테마는 GeneratePress(무료)입니다.
예시로 든 코드가 깨져 보인다는 것을 뒤늦게 파악하여 수정하였습니다.
마지막 업데이트: 2024. 3. 6
1. 카테고리 글 목록 작성하기
글 목록을 만들어 주는 플러그인은 여러 가지가 있는데 여기에서는 Display Posts 플러그인을 이용해 보았습니다. 개인적으로는 List category posts 플러그인도 좋아합니다.
Display Posts 숏코드는 다양한 변수 적용이 가능하며, 해당 플러그인 홈페이지에 가면 예시와 함께 소개가 잘 되어 있습니다. 간단하게 지금 열려 있는 포스트가 속한 카테고리의 최신 글 5개를 번호 붙여 나열하도록 변수 조합을 해 보았습니다.
[display-posts title="카테고리 최신 글" wrapper="ol" posts_per_page="5" taxonomy="category" tax_term="current" exclude_current="true"]
현재의 포스트가 속한 카테고리의 글을 랜덤으로 표시하려면 다음과 같이 만들어 볼 수 있습니다.
[display-posts title="카테고리 랜덤 글" wrapper="ol" posts_per_page="5" orderby="rand" taxonomy="category" tax_term="current" exclude_current="true"]
2. 포스트 하단에 위치시키기
2-1. 플러그인을 사용하는 ver.
이 역시 다양한 플러그인이 있겠지만 여기에서는 Ad Inserter를 사용해 보았습니다. Ad Inserter는 원래 애드센스 같은 광고를 원하는 위치에 넣는 플러그인으로 잘 알려져 있지만, 원하는 위치에 원하는 문장이나 숏코드를 넣을 때에도 유용한 것 같네요.
만약 애드센스 용으로 이미 사용하고 계셨다면 플러그인을 늘리지 않아도 되니 좋은 선택지가 되겠습니다. 이미 사용하고 있는 상황이 아니라고 해도 플러그인을 활용하는 건 확실히 편하긴 하네요.
2-2. 코드 직접 입력 ver.
안전을 위해 아래 모든 방법은 차일드 테마를 이용합니다.
방법 1. functions.php에 add_action 사용
워드프레스를 계속하다 보니 조금 익숙해졌는지 개인적으로 직접 작성해 적용하게 된 방식입니다.
외모 > 테마 파일 편집기 > Theme Functions (functions.php)
function my_cat_post_list() {
if(is_single()) {
echo '<hr>';
echo do_shortcode('[display-posts title="카테고리 최신 글" wrapper="ol" posts_per_page="5" taxonomy="category" tax_term="current" exclude_current="true"]');
}}
add_action('generate_after_content', 'my_cat_post_list');
방법 2. functions.php에 add_filter 사용
코드는 thewordcracker.com, idchowto.com를 참고하여 상황에 맞게 수정해 보았습니다.
외모 > 테마 파일 편집기 > Theme Functions (functions.php)
function my_cat_post_list($content) {
if(is_single()) {
$content.= '<hr>';
$content.= do_shortcode('[display-posts title="카테고리 최신 글" wrapper="ol" posts_per_page="5" taxonomy="category" tax_term="current" exclude_current="true"]');
}
return $content;
}
add_filter ('the_content', 'my_cat_post_list');
방법 3. content-single.php에 코드를 직접 입력하는 방식
이 방법은 똑같이 정상 작동하긴 하지만, content-single.php 파일을 직접 수정하는 것보다는 functions.php를 이용한 방식이 더 권장되는 것 같습니다. 차일드 테마 사용 시 content-single.php 파일은 보통 안 가져다 두기 때문에 부모 테마에서 복사해 온 후 편집해야 합니다.
아래의 내용을 do_action( 'generate_after_content' ); ?> 아래에 위치시켰습니다.
외모 > 테마 파일 편집기 > content-single.php
<hr>
<?php
echo do_shortcode('[display-posts title="카테고리 최신 글" wrapper="ol" posts_per_page="5" taxonomy="category" tax_term="current" exclude_current="true"]');
?>
3. 적용 모습
플러그인을 사용하는 버전과 그렇지 않은 버전의 결과는 크게 다르지 않습니다. 상황에 따라 취향대로 사용하면 될 것 같네요.