모두의매뉴얼
  • Home
  • 앱
  • 프로그래밍
  • 데이터
  • 스터디
  • 라이프

모두의매뉴얼

이것저것 블로그

[워드프레스] 페이지에 요약글, 태그, 카테고리 기능 추가하기

Updated 2019.10.140.3K readCOPY URL
Summary간단한 코드를 추가해 페이지에서도 (포스트에서 처럼) 카테고리, 태그, 요약글 기능을 사용하는 방법

Table of Contents

  1. 상황
  2. 솔루션
  3. 요약글 기능 추가
  4. 태그 기능 추가
  5. 카테고리 기능 추가

상황

#워드프레스에서 포스트와 #페이지는 분명 다른 기능을 하지만, 페이지 형식으로 글을 쓰면서 가끔은 포스트에 있는 카테고리, 태그 등의 기능이 필요할 때가 있습니다.

그럴거면 굳이 왜 post 가 아닌 page 형식으로 글을 작성할까 하는 의문점이 생기지만, 어쨌든 제가 필요했기에 그 방법을 정리해 봅니다.

솔루션

아래는 페이지 형식의 글에 포스트 형식이 지원하는 몇 가지 기능을 아래 그림처럼 추가하는 방법을 정리한 것입니다.

아래 코드를 워드프레스 테마의 #functions.php 파일이나 플러그인에 추가하면 페이지에서 여러가지 추가 기능을 사용할 수 있습니다.

// 페이지에 요약글 기능 추가
add_post_type_support( 'page', 'excerpt' );

// 페이지에 태그 기능 추가하기
function _tag_for_page() {
    register_taxonomy_for_object_type( 'post_tag', 'page' );
}
add_action('init', '_tag_for_page');

function _page_on_tag_page( $wp_query ) {
    if ( $wp_query->get('tag') ) $wp_query->set('post_type', 'any');
}
add_action('pre_get_posts', '_page_on_tag_page');

// 페이지에 카테고리 기능 추가하기
function _cat_for_page() {
    register_taxonomy_for_object_type( 'category', 'page' );
}
add_action('init', '_cat_for_page'); 

function  _page_on_cat_page( $wp_query ) {
    if ( $wp_query->get('cat') ) $wp_query->set('post_type', 'any');
}
add_action('pre_get_posts', '_page_on_cat_page'); 

코드가 뭔가 길어 보이긴 하는데 본인에게 필요한 부분만 가져다 쓰면 됩니다.

아래에서 각 코드가 어떤 기능을 하는지 살펴 보도록 합시다.

요약글 기능 추가

// 페이지에 요약글 기능 추가
add_post_type_support( 'page', 'excerpt' );

페이지에 #요약글 기능을 추가하는 것은 아주 간단히 코드 한 줄이면 됩니다.

#add_post_type_support 함수를 이용해 page 형식의 post type 에 #excerpt 기능을 추가하는 작업입니다.

태그 기능 추가

// 페이지에 태그 기능 추가하기
function _tag_for_page() {
    register_taxonomy_for_object_type( 'post_tag', 'page' );
}
add_action('init', '_tag_for_page');

function _page_on_tag_page( $wp_query ) {
    if ( $wp_query->get('tag') ) $wp_query->set('post_type', 'any');
}
add_action('pre_get_posts', '_page_on_tag_page');

_tag_for_page 함수는 #register_taxonomy_for_object_type 함수를 이용해 page 에 #post_tag 기능을 추가해주는 함수입니다.

그런데 단순히 페이지 형식의 글에 태그 기능을 추가 하는게 아니라 특정 태그를 포함한 글 목록에서도 해당 페이지를 보고 싶다면 그 아래의 _page_on_tag_page 함수까지도 추가해야 합니다. #pre_get_posts 에 액션을 추가해 글 목록을 불러 올 때 post_type 이 어떤 것(any)이 더라도 불러 올 수 있도록 하는 작업입니다.

카테고리 기능 추가

// 페이지에 카테고리 기능 추가하기
function _cat_for_page() {
     register_taxonomy_for_object_type( 'category', 'page' );
}
add_action('init', '_cat_for_page'); 

function  _page_on_cat_page( $wp_query ) {
   if ( $wp_query->get('cat') ) $wp_query->set('post_type', 'any');
}
add_action('pre_get_posts', '_page_on_cat_page'); 

태그 기능을 추가 하는 것과 마찬가지 작업입니다. _cat_for_page 함수에서 page 에 category 기능을 추가해주고, #query 가 cat 일 때 #post_type 을 any 로 지정해 페이지도 특정 카테고리 글 목록에서 표시 될 수 있도록 합니다.

끝.

category excerpt functions.php post_tag 요약글 워드프레스 카테고리 태그 페이지
Share COPY
URL

관련 포스트

최근 포스트

  • [구글검색] 구글 서치 콘솔에 RSS 추가하기
  • [워드프레스] 사이트맵에서 포스트나 페이지 제외하기
  • [워드프레스] SVG 벡터 이미지 파일 업로드 하는 방법
  • [트위터] 계정 삭제하기
  • [네이트온] 메시지 알림에서 내용 지우기

댓글 남기기 응답 취소

Most view

  1. 카카오톡 탈퇴(계정 삭제) 방법을 알아보자
  2. 웹페이지를 영구 박제 해주는 사이트 총정리
  3. 윈도우10 로그인(계정) 비밀번호를 변경하는 방법을 알아보자
  4. [jQuery] 특정 요소에 포커스 주고 빼기 feat. focus() and blur()
  5. 픽셀(px)을 센티미터(cm) 로 변환 해보자
  6. [FLO] 음악 앱 플로 이용권 해지 방법 총정리
  7. SQL 에서 필드 값이 Null 인 데이터 조회 하기
  8. HTML 문서에서 CSS 를 로드하는 2가지 방법(link, @import)
  9. [HTML] Input 태그의 자동완성 기능 해제하기 feat. autocomplete
  10. [jQuery] jQuery를 이용하여 텍스트박스 값 초기화 하기

Proudly powered by WordPress.org