커스텀 필드와 페이지 템플릿을 이용한 Redirect

Posted on

워드프레스에서 페이지를 만들 때 계층구조로 만들 때가 있습니다. 상위페이지 아래에 하위페이지를 만들어 구분을 하는 것인데, 이 때 상위페이지는 메뉴 구성이나 구분을 위해서만 사용하고 싶을 때가 있습니다.

Custom link를 이용해 간단히 해결할 수 있지만, 이 경우에 테마의 정의에 따라 상위메뉴가 계층구조로 나타나지 않을 수 있습니다.

페이지를 계층구조로 생성해 놓으면 자동으로 사이드(위젯 등)에 나타나게 하는 테마가 있다고 할 때 상위페이지를 클릭하면 첫번째 하위페이지로 이동 시키고자 하는 것을 목표로 커스텀 필드와 페이지 템플릿을 이용해 봅니다.

Quick Page/Post Redirect Plugin 같은 플러그인을 이용하면 간단할 수가 있지만, 페이지 템플릿을 생성하여 작업해 봅니다.

아래와 같은 계층구조로 된 페이지가 있고, 그와 동일한 메뉴가 생성 되어 있다고 가정해 봅니다.

메뉴예시

[목표]

  • Product 메뉴를 클릭했을 때 A-Product 페이지로 Redirect
  • Business 메뉴를 클릭했을 때 A-Biz 페이지로 Redirect

pageredirect.php 라는 이름의 파일을 하나 만듭니다.

해당 파일을 열어서 아래의 코드를 삽입하고 저장하여 사용하는 테마의 디렉토리에 업로드 합니다.

<?php
/* Template Name: Page Redirect */
$myredirect_url = get_post_meta($post->ID, 'redirurl', true);
wp_redirect($myredirect_url);
exit;

Product 페이지로 가서 오른쪽(일반적으로) 메타박스 Template 부분에 위에서 만든 Page Rerdirect 가 나오는지 확인하고 선택합니다.

페이지 템플릿 선택

하단(일반적으로)의 Custom fields에서 Name에는 ‘redirurl‘을 입력하고 Value에는 A-Product 페이지의 링크를 입력하고 저장한 후에 publish 합니다.

커스텀필드에 redirect 페이지 추가

페이지 보기 또는 프론트엔드에서 메뉴를 클릭하여 원하는 페이지로 redirect 되는지 확인해 보세요. 나머지 Business 메뉴도 마찬가지로 하면 됩니다.

향 후에 다른 페이지도 redirect가 필요하다면, 페이지 작성 시 만들어 놓은 Page Redirect template를 선택하고, redirurl 커스텀 필드를 선택한 후에 value 값에 redirect하고자 하는 페이지나 웹사이트의 링크만 입력하면 유용하게 사용할 수 있을 것으로 생각됩니다.

 

3 thoughts on “커스텀 필드와 페이지 템플릿을 이용한 Redirect”

  1. 경험과 지식이 풍부하셔서 그런 것인지… 역시 대단하세요.

    이런 식으로 사용(응용) 해봐야겠다는 생각은 전혀 못했습니다.

    쵝오!!

  2. 페이지에 대한 개념이 좀 어려웠는데 이 글을 보니 조금 이해가 갑니다. 집에가서 한 번 해봐야겠네요. 항상 감사합니다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.