티스토리 뷰

워드프레스 카테고리 정렬을 원하는대로 하고 싶을 경우

카테고리 정렬 플러그인 Taxonomy Terms Order, Custom Taxonomy Order 을 설치해서 사용하면 되는데

만약 설정을 했는데도 적용이 되지 않을 경우

 

 

위젯/블록이 기본 wp_list_categories() 사용 안 함
워드프레스 기본 카테고리 위젯(혹은 블록)은 wp_list_categories() 함수를 씁니다.
그런데, 테마나 블록이 자체 쿼리로 카테고리를 뽑으면 플러그인 순서가 무시돼요.
(예: orderby=name 같은 옵션이 강제로 들어간 경우)

 

저 같은 경우는 카테고리 출력이

<!-- wp:post-terms {"term":"category","separator":" \u003e ","className":"dalbang_main_category","fontSize":"custom-1"} /-->

이렇게 처리가 되는데, 플러그인에서 정렬한 게 먹히지 않네요

 

 

챗지티피로 번거롭지만

코드 스니퍼를 이용해서

 

// 카테고리 블록/위젯이 Custom Taxonomy Order 순서를 따르도록
add_filter('block_core_categories_query', function($args) {
    $args['orderby'] = 'term_order';  // 플러그인이 저장한 순서 사용
    return $args;
});

add_filter('get_terms_args', function($args, $taxonomies) {
    if (in_array('category', (array)$taxonomies)) {
        $args['orderby'] = 'term_order';
    }
    return $args;
}, 10, 2);

 

적용하니 카테고리 정렬이 적용이 되네요

 

 

 

 

 

공유하기 링크
댓글