web関連

【wordpress】ターム一覧を出力する時に使ったコード

【wordpress】ターム一覧を出力する時に使ったコード

「taxonomy-タクソノミー名.php」でタームの一覧ページを作ったので備忘録

WP_Queryでターム一覧を出力する

<?php
  $taxonomy = $wp_query->get_queried_object();
  $paged = (int) get_query_var('paged');
  $args = array(
    'posts_per_page' => 10,
    'paged' => $paged,
    'post_type' => 'カスタム投稿名',
    'tax_query' => array(
      array(
        'taxonomy' => 'タクソノミー名',
        'terms' => array( $taxonomy->slug ),
        'field'=>'slug',
      )
    )
  );
  $the_query = new WP_Query($args);
  if ( $the_query->have_posts() ) :
  while ( $the_query->have_posts() ) : $the_query->the_post();
?>

// 出力用のコードが入る

<?php endwhile; ?>
<?php else: ?>
<?php endif; ?>

// 以下ページャー
<?php 
  if ($the_query->max_num_pages > 1) {
    echo paginate_links(array(
      'base' => get_pagenum_link(1).'%_%',
      'format' => 'page/%#%/',
      'current' => max(1, $paged),
      'total' => $the_query->max_num_pages,
      'mid_size' => 1,
      'prev_text' => false,
      'next_text' => false,
    ));
  }
?>
<?php wp_reset_postdata(); ?>

丸々コピーでたぶん行ける
ページャー付きのWP_Queryを使ったターム一覧やったことなかったからメモ書き

急にターム一覧作ってと営業が言ってきてイライラしながら急いでやったけど、過去の備忘録がめちゃくちゃ役立って書いててよかったと思った今日この頃