Featured Lab

워프 개발하다보면 상위 메뉴를 누르면 바로 첫번째 하위 메뉴로 가고 싶게 할때가 있다. 대개 테마들은 메뉴에서 하위 메뉴(자식 페이지)가 있는 경우 상위 메뉴(부모 페이지)클릭이 안되도록 되어있지만, 메뉴의 구조가 좀 별다르거나 클릭해도 가게끔 기획 혹은 클라이언트 통해 요청 받을때가 있다.

 

wp_redirect 기능을 이용하면 되는데, 참고한 영문페이지 - How to redirect a Parent Page to a Child Page in WordPress를 통해 실제로 해결보았고 이곳에 풀어보려 합니다.

 

우선 page-gotochild.php 파일을 새로 생성후, 내 테마 안에 넣고 다음의 내용을 입력 후 저장.

<?php
/* Template Name: Go to first child */
$pagekids = get_pages("child_of=".$post->ID."&sort_column=menu_order");
if ($pagekids) {
$firstchild = $pagekids[0];
wp_redirect(get_permalink($firstchild->ID));
}
else {
// Do whatever templating you want as a fall-back.
}

템플릿 생성파일이다.

 

이제 내 부모 페이지 편집기로 가면 우측 사이드바에 템플릿 란에 

이런식으로 보일거다. 위 템플릿으로 지정한 다음 저장한다.

그러면 기본적으로 부모 페이지의 하위에 있는 첫번째 자식 페이지로 리다이렉트 된다.

 

예를들어 abc.com 라는 워드프레스 홈페이지에 메뉴가 A가 있고 그 하위 메뉴가 A-1, A-2, A-3가 있다면

abc.com/A 로 이동한다고 쳤을때 A-1라는 첫번째 하위 페이지로 바로 이동되는것이다.

만약 이 순서를 바꾸고 싶다면 위의 사이드 바에서 order란의 숫자를 변경해주면 된다.

숫자가 작을수록 상위 순서로 가고 자식 페이지 중에 가장 작은 숫자가 첫번째 자식으로 지정됩니다.

 

빠른 편집으로 직접 순서 변경해보면서 테스트 해보셔도 될듯.

이건 직접 해보시면 알거예요...

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band