GHWEB06.GRASSHOPPER

WordPressでカスタムタクソノミーの投稿を絞込み

  • Category:Web関連
  • Web関連の備忘録

wp3ループの直前に絞込みの指定をする事でカスタムタクソノミーの投稿の絞込みが可能です。
表示の内容はループ内で指定します。

指定の方法例

単一のタームの一覧

カスタム投稿タイプで指定したタームの一覧を表示

<?php
$args = array(
    'post_type' => 'カスタム投稿タイプA',
    'tax_query' => array(
            array(
                'taxonomy' => 'カスタムタクソノミーA',
                'field' => 'slug',
                'terms' => 'タームA1',
                ),
            ),
        );
$the_query = new WP_Query( $args );
?>

指定したタームを除外した一覧

カスタム投稿タイプで指定したタームを除外した一覧を表示
‘operator’ => ‘NOT IN’ を使用します。

<?php
$args = array(
    'post_type' => 'カスタム投稿タイプA',
    'tax_query' => array(
            array(
                'taxonomy' => 'カスタムタクソノミーA',
                'field' => 'slug',
                'terms' => 'タームA1',
                'operator' => 'NOT IN',
                ),
            ),
        );
$the_query = new WP_Query( $args );
?>

複数のタームの一覧

カスタム投稿タイプで指定した複数のタームの一覧を表示
タームの部分を配列を使って指定

<?php
$args = array(
    'post_type' => 'カスタム投稿タイプA',
    'tax_query' => array(
            array(
                'taxonomy' => 'カスタムタクソノミーA',
                'field' => 'slug',
                'terms' => array( 'タームA1', 'タームA2' ),
                ),
            ),
        );
$the_query = new WP_Query( $args );
?>

複数のカスタム投稿タイプと属する複数のタームを表示

カスタム投稿タイプA・BでタームA1・A2、タームB1・B2の何れかが指定している投稿を表示

<?php
$args = array(
    'post_type' => array('カスタム投稿タイプA','カスタム投稿タイプB'),
    'tax_query' => array(
            array(
                'taxonomy' => 'カスタムタクソノミーA',
                'field' => 'slug',
                'terms' => array( 'タームA1', 'タームA2' ),
                ),
            array(
                'taxonomy' => 'カスタムタクソノミーB',
                'field' => 'slug',
                'terms' => array( 'タームB1', 'タームB2' ),
                ),
            'relation' => 'OR'
            )
        );
$the_query = new WP_Query( $args );
?>

query_posts でも出来るよね?

WP_Query ではなく query_posts でも出来ますが、本来のページで表示されるデータではない表示をする場合(今回のカテゴリの一覧等)は、ページの読み込み速度が遅くなる事があるため、WP_Query または get_posts を使用した方が良いようです。

以下、WordPress Codex 日本語版のリンクです。

  • 掲載: