web-dev-qa-db-ja.com

カスタム投稿タイプ内で分類用語のアーカイブページを作成する方法

カスタム投稿タイプに含まれるアーカイブページのカスタム分類用語を作成する必要があります。 CPT>カスタム分類>分類法の用語として設定されています。

私は「プロジェクト」と呼ばれるカスタム投稿タイプを持っています、そして投稿を作成するとき、ユーザーはリストのためにプロジェクトのタイプを選択することです(すなわち、建設、メンテナンスなど)。しかし、私は個々の用語のアーカイブページを作成する必要があります。私は何時間も試行錯誤しながらそれを検索し、作業してきました。

2
anselscamera

WP Codexの例 があります。

分類用語アーカイブテンプレートには、次の命名規則を試してください。

taxonomy-{taxonomy}-{term}.php

それでは、 "Projects"というCPT、 "Maintenance"という分類、およびその分類内の "Professional"という用語があるとします。それでは、あなたの命名規則は次のようになります。

taxonomy-maintenance-professional.php
1
edwardr

私はtfrommenの(正しい)答えのために別の例を作るのが好きです、なぜならウェブ上でこのトピックについて見つけることは多くないからです。

  $post_type = get_post_type();

  if ( is_post_type_archive() ) {
    $taxonomies = get_object_taxonomies($post_type);
    $related_terms = get_terms(array(
      'taxonomy' => $taxonomies
    ));
  }

...

  if ( !empty($related_terms) && !is_wp_error($related_terms) ) {
    foreach ( $related_terms as $related_term ) {
      $term_url = get_term_link($related_term);

      if ( is_post_type_archive() ) {
        $term_url = add_query_arg( 'post_type', $post_type, $term_url );
      }
?>
  <a href="<?php echo esc_url($term_url); ?>"><?php echo $related_term->name; ?></a>
<?php    }
  }
0