일전 게시물을 검색해보면 카테고리에서 "전체" 항목을 삭제 후 링크 설정 시
/?category1=카테고리명&mod=list&pageid=1
이런식으로 설정하라고 되어있던데 이 방식 말고 "전체"를 삭제 후 정상적으로(해당 게시물이 설정된 페이지 링크 시) 첫번째 카테고리가 active 되도록 할 수 있는 방법은 없을까요?
메뉴 상에서 사용자 정의로 앞서 표기한 대로 링크를 주는 방식은 향후 유지보수나 작업 방식의 통일성이 결여되는 사항이라 개선하고 싶습니다.
조언 부탁드립니다.
안녕하세요~^^
KBoard 플러그인에서 카테고리1 중에서 "전체"를 지우고
첫 번째 카테고리가 선택되게 하는 방법 중
kboard_category1 필터를 활용한 방법도 있습니다.
아래의 코드를 테마 쪽 functions.php 파일에 추가해보시겠어요?
add_filter('kboard_category1', 'my_kboard_category1', 10, 1);
function my_kboard_category1($category1){
$page_id = get_the_ID();
if(!$category1 && $page_id == '1'){ // 실제 페이지 ID로 적용해주세요.
$category1 = '자유게시판';
}
return $category1;
}
위의 코드에서 $page_id == '1' 부분은 실제 게시판이 설치된 페이지 ID로 적용해주세요.
$category1 = '자유게시판' 부분은 첫 번째 카테고리 명으로 교체해주세요.
워드프레스에서 페이지 ID를 찾는 방법은
아래의 링크를 참고해보세요.
고맙습니다.
답변 감사합니다.
페이지 ID 찾는건 어렵지 않으나 알려주신 사항은 kboard_category1 필터에 해당되는 모든 게시판들이 동일하게 변경되는 구조라서
board_id 별로 또 개별적으로 적용할 수 있는 다른 방법에 대해서 조금 더 조언 부탁드리겠습니다.
이전 댓글에 안내해드린 코드를 적용하시면
해당 ID의 페이지에 설치된 게시판에만 적용이 됩니다.
게시판 id로 구분하시려면
아래의 코드를 활용해보시겠어요?
add_action('kboard_skin_header', 'my_kboard_skin_header', 10, 1);
function my_kboard_skin_header($builder){
$board = $builder->board;
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
add_filter('kboard_category1', 'my_kboard_category1');
}
}
function my_kboard_category1($category1){
if(!$category1){
$category1 = '자유게시판';
}
return $category1;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
고맙습니다.
감사합니다.
action 안에 filter는 생각 못했네요ㅎㅎ