WordPress 고객 분류 처리 방법

3496 단어 WordPress
워드프레스를 사용자 정의할 때, 사용자 정의 분류는 가장 복잡한 요소 중의 하나이다.여기서 고객 분류와 관련된 템플릿 라벨 등을 정리합니다.

사용자 정의 분류 추가


사용자 정의 분류를 추가할 때 플러그인 등을 통해 추가할 수도 있지만 functions를 통해 추가할 수도 있습니다.php에서 다음 내용을 간단하게 설명합니다.
functions.php
    register_taxonomy('area', 'post', array(
        'labels' => array(
            'name' => '地域'
        )
    ));
첫 번째 매개변수에서 분류 이름을 지정하고 두 번째 매개변수에서 객체 유형을 지정합니다."post"에서 투고하고 "페이지"에서 고정 페이지에 추가합니다.또한 사용자 정의 사서함 유형과 수정 버전 등을 지정할 수 있습니다.
  • 함수 참조/register taxonomy-WordPress Codex 일본어 버전
  • 계층 구조를 활성화하려면 확인란 유형 선택


    위의 방법으로 추가하면 태그와 같은 텍스트 필드에 입력된 유형이 나타납니다.

    세 번째 인자에 "hierarchical"을 추가하면 변경할 수 있습니다.
    functions.php
        register_taxonomy('area', 'post', array(
            'labels' => array(
                'name' => '地域'
            ),
            'hierarchical' => true
        ));
    

    분류 페이지 만들기


    작성된 분류는 아래 URL에서 확인할 수 있습니다.
    http://example.com/area/tokyo
    이때 사용된 템플릿 파일은 다음 순서로 사용됩니다.
  • taxonomy-area-tokyo.php
  • taxonomy-area.php
  • taxonomy.php
  • archive.php
  • index.php
  • 선택한 분류 이름 가져오기 등


    분류 페이지에서 선택한 분류에 대한 정보를 검색하려면 파일의 시작 부분에서 다음과 같이 하십시오.
    PHP
    $area = get_query_var('area'); // パラメーターからタクソノミー名を取得
    $term = get_term_by('slug', $area, 'area'); // スラッグからタクソノミーの情報を取得
    
    echo esc_html($term->name); // ラベルを表示する
    
    "$term"에는 다음 내용이 저장되어 있습니다.
  • $term->term_id ... ID
  • $term->slug ... 난로 부스러기
  • $term->description ... 설명문
  • $term->parent ... 뽀뽀해, 소노미
  • 부모 세대를 더 얻으려면 다음과 같이 하십시오.
    PHP
    ...
    $parent = get_term($area->parent, 'area');
    

    글의 분류 표시


    글의 상세 페이지 (single.php) 등에서 이 글이 속한 분류를 표시하려면 아래 템플릿 라벨이 가장 간단합니다.
    php
    the_terms(get_the_ID(), 'area');
    
    다음 HTML이 내보내집니다.
    HTML
    
    <a href="https://custompostype-taxonomy-h2ospace-1.c9.io/event/area/hokaido/" rel="tag">北海道</a>, <a href="https://custompostype-taxonomy-h2ospace-1.c9.io/event/area/tokyo/" rel="tag">東京</a>
    
    HTML을 자유롭게 가공하려면 get_the_terms 를 사용합니다.
    PHP
    $terms = the_terms(get_the_ID(), 'area');
    
    foreach ($terms as $term):
      echo '<li><a href=".../<?php echo esc_attr($term->slug); ?>/"><?php echo esc_html($term->name); ?></a></li>';
    endforeach;
    

    판단 분류


    내비게이션 등의 처리에서 현재 표시되는 분류가 무엇인지 판단하려면 is_tax(is_term은 추천하지 않음)를 사용하십시오
    PHP
    <li class="nav<?php echo (is_tax('area', 'tokyo') ? ' active' : ''); ?>">東京</li>
    

    좋은 웹페이지 즐겨찾기