맞춤 분류 목록 페이지?


11

식당 사이트에서 일하고 있는데 요리에 대한 사용자 정의 게시물 유형이 있습니다.

$args = array(
    'labels'=> $labels,
    'public'=> true,
    'publicly_queryable'=>true,
    'show_ui'=>true,
    'show_in_nav_menus'=>true,
    'query_var'=>'dish',
    'rewrite'=>true,
    'capability_type'=>'post',
    'hierarchicial'=>false,
    'menu_position'=>5,
    'supports'=>array(
        'title',
        'editor',
        'thumbnail',
        'excerpt',
        'custom-fields',
        'revisions'
    )   
);  

register_post_type('dish', $args);

사용하려는 사용자 정의 분류법 중 하나의 예는 다음과 같습니다.

register_taxonomy('Main Ingredient', array('dish'), array(
    'hierarchical' => true,
    'label' => 'Main Ingredient',
    'singular_label' => 'Main Ingredient',
    'query_var'=>true,
    'rewrite' => true)
);

사용자 정의 분류법은 관리자에서 잘 작동 myurl.com/main-ingredient/pork하며 돼지 고기가 들어간 모든 요리 목록을 볼 수 있습니다.

내가하고 싶은 myurl.com/main-ingredient것은 다양한 주요 성분 값의 목록을 얻을 수 있다는 것 입니다.

참조를 찾았습니다. 정확히 내가하려고하는 것입니다.

그러나 해결책이 나를 위해 작동하지 않습니다-나는 여전히 404를 받고 있습니다. myurl.com/main-ingredient

최선의 방법에 대한 제안이 있으십니까?

답변:


20

귀하의 질문에 암시해야 할 바와 같이 귀하의 분류 체계에 대한 "색인" 페이지 를 제공하기 위해 WordPress에 기본 제공되는 것은 없습니다.

대신 당신은라는 페이지를 작성하는 것입니다 그것을 하나의 방법을 해킹해야 "주요 성분을" 로모그래퍼 main-ingredientURL 슬러그 및 그것을 지정 만들 것 테마의 페이지 템플릿 (아마도) 라는 "주요 성분 목록" :

WordPress에서 페이지 템플릿을 설정할 위치를 보여주는 스크린 샷
(출처 : mikeschinkel.com )

시작점이 있습니다. page-main-ingredient-list.php 페이지 템플릿 의 파일 이름 을 사용하십시오 .

<?php
/*
Template Name: Main Ingredient List
*/
get_header();
$main_ingredients = get_terms('main-ingredient');
foreach($main_ingredients as $main_ingredient) {
  $dishes = new WP_Query(array(
    'post_type' => 'dish',
    'post_per_page'=>-1,
    'taxonomy'=>'main-ingredient',
    'term' => $main_ingredient->slug,
  ));
  $link = get_term_link(intval($main_ingredient->term_id),'main-ingredient');
  echo "<h2><a href=\"{$link}\">{$main_ingredient->name}</a></h2>";
  echo '<ul>';
  while ( $dishes->have_posts() ) {
    $dishes->the_post();
    $link = get_permalink($post->ID);
    $title = get_the_title();
    echo "<li><a href=\"{$link}\">{$title}</a></li>";
  }
  echo '</ul>';
}
get_footer();

그리고 테스트 사이트의 더미 데이터가있는 페이지 모양은 다음과 같습니다.

WordPress 사이트에 대한 분류 색인 페이지의 스크린 샷


안녕 마이크, 그래 그랬어. 도움이되지 않습니다.

@Josh- 여기 에서 찾은 코드를 테마 functions.php파일에 추가 한 다음 http://wp30.dev/main-ingredient/chicken/ ( wp30.dev내 로컬 테스트 사이트 임)로 이동 하여이 스크린 샷을 얻었습니다 . 따라서 작동하지 않으면 플러그인 또는 작동하지 않는 다른 코드가 있습니다.
MikeSchinkel 5

답장 Mike에게 감사합니다. 그것은 나를 위해 작동하지만 해결하려는 문제는 아닙니다. 분류의 최상위 수준으로 이동하여 주요 재료 목록을 얻으려고합니다. 즉, URL에서 "치킨"을 제거하면 404 페이지가 표시됩니다. 그것이 내가 겪고있는 문제입니다.

@Josh-알았어. 이제 알겠다. 죄송합니다. 오늘 너무 많은 질문에 답변했습니다. 참고로 WordPress에는 원하는 것을 처리하는 "내장"방법이 없습니다. 그것이 자동으로 거기에 있다는 것은 많은 의미가 있지만 현재는 그렇지 않습니다. 해결 방법 인 업데이트를 작성하겠습니다.
MikeSchinkel

3
@Josh- "하지만 분류법 용어를 통해 게시물보기 및 탐색의 뛰어난 내장 기능을 잃는 것을 싫어 합니다 ."
MikeSchinkel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.