워드프레스 읽기 설정에서 홈페이지 표시를 "최신 글"로 설정하면 전면 페이지에 가장 최근 글에서 오래된 글 순서로 나열됩니다. 카테고리 페이지에서도 마찬가지로 일반적으로 최근 글이 맨 위에 표시되고 뒤로 갈 수록 오래된 포스트들이 나열됩니다.
최신 글을 먼저 나열하는 대신 오래된 글을 먼저 표시하고 싶은 경우가 있을 수 있습니다. 이런 경우에 참고해보세요.
워드프레스 블로그 페이지 정렬 변경: 오래된 글을 먼저 나열하기
뉴스페이퍼 테마나 엘리멘터 프로의 Posts 위젯을 사용하는 경우 포스트 정렬 방법을 지정할 수 있습니다.
엘리멘터 프로의 포스트 위젯의 경우 Query(쿼리) 섹션에서 Order(순서) 설정을 지정할 수 있습니다.
두 가지 옵션 중에서 선택 가능합니다.
- ASC: 오름차순, 오래된 글이 먼저 표시되고 최신 글이 뒤쪽이 표시됩니다.
- DESC: 내림차순, 최신 글이 먼저 표시됩니다.
이러한 기능이 제공되지 않는 테마에서 블로그 페이지나 카테고리 페이지에서 포스트 정렬 순서를 변경하고 싶은 경우 pre_get_posts 액션(훅)을 사용할 수 있습니다.
예를 들어, 설정 » 읽기에서 홈페이지 표시 설정을 "최신 글"로 지정한 경우 다음 코드를 테마의 함수 파일(차일드 테마를 만들어 작업하세요)에 추가하면 전면 페이지(홈 페이지)에 오래된 글에서 최신 글 순서로 글들이 나열됩니다.
// 워드프레스 전면 페이지에 오래된 글에서 최신 글 순으로 포스트 나열하기
add_action('pre_get_posts', 'alter_query');
add_action('pre_get_posts', 'alter_query');
function alter_query($query) {
if ($query->is_main_query() && is_home()) {
$query->set('orderby', 'date'); // Order by the date field
$query->set('order', 'ASC'); // Order in ascending order (from oldest to newest)
}
}
카테고리 페이지의 글 나열 순서를 오래된 글에서 최신 글 순으로 변경하고 싶은 경우 다음과 같은 코드를 사용할 수 있습니다.
// 워드프레스 카테고리 페이지에서 글 나열 순서를 오래된 글에서 새로운 글 순으로 변경하기
add_action('pre_get_posts', 'sort_category_posts_oldest_first');
function sort_category_posts_oldest_first($query) {
// Check if it's the main query and if it's a category archive
if ($query->is_main_query() && is_category()) {
$query->set('orderby', 'date'); // Order by the date field
$query->set('order', 'ASC'); // Order in ascending order (from oldest to newest)
}
}
위의 코드를 적용하면 오래된 글에서 최신 글 순으로 글들이 나열됩니다. 일반적으로 최신 정보가 먼저 나오는 것이 SEO에 유리합니다. 오래된 글들이 먼저 표시되어야 하는 경우(예: 매뉴얼 페이지) 상기 코드를 응용할 수 있습니다.
위의 코드로 테스트해보니 잘 작동하네요. 정렬 방식을 바꾸고 싶은 경우 상기 코드를 적절히 응용하시기 바랍니다.
정말 감사합니다. 찾고있던 기능이었어요.