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

모두의매뉴얼

이것저것 블로그

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

Updated 2019.10.140.9K 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

최근 포스트

  • [갤럭시] 배터리 절약을 위한 라이트 모드 활성화 방법
  • [메인보드] B550M 박격포 WIFI: 블루투스가 안보일 때 간단한 해결 방법
  • [PHP] 배열의 키 값만 가져오는 방법.array_keys
  • [엑셀/VBA] 텍스트 파일을 읽는 방법
  • [액세스] 3개 이상의 테이블을 INNER JOIN 하는 방법

댓글 남기기 응답 취소

  • 세계의 운동 2021-07-22 08:17 [Reply]

    문의 드려요.

    • 세계의 운동 2021-07-22 08:18 [Reply]

      다시 질문이요. 현재 페이지의 첫 내용이 Table of Contents 이거인데요. 이 목록을 클릭하면 글내용의 링크로 움직이는거 어떻게 하는것인지 알 수 있을까요?

Most view

  1. 웹페이지를 영구 박제 해주는 사이트 총정리
  2. 카카오톡 탈퇴(계정 삭제) 방법을 알아보자
  3. [윈도우11] 백그라운드 앱 비활성화 하는 방법
  4. [크롬] 알림 설정 차단 방법 정리
  5. [Chrome] 크롬 기본 글꼴을 바꾸는 방법을 알아보자
  6. [윈도우10] 배달 최적화 파일 개념, 삭제, 끄기 방법 총정리
  7. [오피스] MS 팀즈 자동 실행 해제하기
  8. [LaTeX] 분수를 입력하는 방법
  9. [LaTeX] 위첨자와 아래첨자 입력 방법
  10. [윈도우] 부팅시 운영체제 선택화면 없애는 방법

Proudly powered by WordPress.org

 

댓글 로드중...