me

[wordpress/plugin] 워드프레스 URL에서 카테고리 일부 제거 방법
2023.11.03 / , ,

워드프레스 게시글 URL에서 카테고리 일부 제거 하고 싶은 욕망이 발생!

개인적으로 URL에 “category”를 따로 써서 활용하기엔 페이지를 또 만들고 해야해서 귀차니즘과 너무 URL 단계가 많아 진다는 생각에 사이트 셋팅 단계에서 아예 파머링크의 주소 부분 중에 카테고리 category 부분을 제거 하고 싶었다.

URL 중에 “category”라는 부분만 삭제하고, 상위 카테고리와 하위 카테고리를 쓰려고 했다.

일단 기존 카테고리를 메뉴에 추가하면 자동으로 ‘category ‘가 붙는데 예전에는 분명 저 부분만 지우는 걸 쉽게 한 거 같았는데… 이상하게 어떻게 해도 안 된다는.. 충격!

이런 설정은 한번 해 놓으면 잘 안건들이니… ㅠㅠ

삽질에 삽질하다가… 굳은 내 머리를 탓하면서… 더 이상의 시간 투자는 아까워서 플러그인으로 하기로 정했다.

어차피 SEO 때문에 요이스트는 깔아놨으니~~


Yoast SEO를 활용하여 플러그인을 사용하여 URL에서 카테고리 일부 제거 방법

내가 원한 건 딱 카테고리 1단계만 제거 – 이후 서브 카테고리는 남기고 싶었음

https://pixiclue.com/category/study/html/ 를
https://pixiclue.com/study/html/ 로 바꾸고 싶다는 이야기

Yoast SEO) 플러그인으로 카테고리 일부 제거 방법

원래 하려다 만 건 – 마지막 카테고리 단계만 남기기

https://pixiclue.com/category/study/html/ 가
https://pixiclue.com/html/ 이렇게 되는 코드

이건 잘 되긴 하는데… ‘category’ 를 제외한 상위 하위 카테고리는 전부 다 쓰고 싶었기에 해당 코드는 패쓰.

function no_category_parents($catlink, $category_id) {
    $category = get_category( $category_id );
    if (is_wp_error($category)){
        return $category;
    }
    
    $category_nicename = $category->slug; 
    $catlink = trailingslashit(get_option( 'home' )).user_trailingslashit($category_nicename, 'category');

    return $catlink; 
} 
add_filter('category_link', 'no_category_parents',1000,2); 


[plugins] Yoast SEO : https://yoast.com/wordpress/plugins/seo/