• 解決済 chibiyuko_0124

    (@chibiyuko_0124)


    いつもお世話になっております。
    カスタム投稿を作成し、2つのタクソノミーを作成しました。
    その際、一方のタクソノミーページにて、「現在表示中のタームを取得」し、
    そのターム且つ「もう一方の特定のターム」に属している記事のみを表示させたいと思っております。
    調べて試しているのですが上手くいかず途方に暮れております。

    ◎作成したタクソノミー

    1.国タクソノミー
    日本
    アメリカ
    中国
    韓国

    2.文化タクソノミー
    食文化
    言語

    1のそれぞれのタクソノミーページ(国別)にて、2のターム別の記事一覧を表示させたいと思っております。

    例:日本のページ

    食文化
    ・記事(「日本」の「食文化」に当てはまる記事のみ)
    ・記事

    言語
    ・記事(「日本」の「言語」に当てはまる記事のみ)

    日本のページでは、「日本」に該当する記事のみを表示させたいです。

    ◎現在のコード

    <?php
    $carname_id = (int)$carname_obj->term_id;
    $arg = array(
    'tax_query' => array(
    array(
    	'taxonomy' => '国',
    	'field' => 'id',
    	'terms' => '$carname_id'
    ),
    array(
    	'taxonomy' => '文化',
    	'field' => 'slug',
    	'terms' => '食文化')));
    ?>
    <?php $loop = new WP_Query($args); ?>
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    記事タイトル、日付など

    ◎上記から出力される記事

    現在の「国」に該当する記事一覧。
    「食文化」部分が反映されません。

    記述は「taxonomy-国.php」で試みております。
    「現在表示中のターム(日本、アメリカなど)」を取得し、それ且つ「文化」の指定のタームに属している記事のみを表示
    という意味で試しているつもりなのですが…。

    過去のフォーラムの記事や様々なサイトを参考にこちらの書き方となっております。
    やり方をご存知の方がいらっしゃればご教授いただけますと大変助かります。

    どうぞよろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちわ、chibiyuko_0124さん。

    私が先日作成したプラグインのソースが、参考になるかもしれません。
    参考程度にどうぞ。

    ■VA Term Latest Posts Widget
    https://wordpress.org/plugins/va-term-latest-posts-widget/

    トピック投稿者 chibiyuko_0124

    (@chibiyuko_0124)

    KUCKLU様

    こんばんは。コメントありがとうございます!
    プラグインをDLし、ファイルを拝読いたしました。
    勉強になりました。ありがとうございます。

    下記のソースの「★$terms★」の部分を「現在のタームを取得し表示」という風にできれば表示されそうです。
    1行目の$terms~で続く文に、自分なりにその記述をしているのですが記事が表示されません。

    <?php
    $terms = array_shift( get_the_terms( get_the_ID,'国' ) ); echo $term->slug;
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array(
    'post_type' => '$post-type',
    'posts_per_page' => -1,				//表示件数
    'paged' => $paged,				//現在何ページ目かを取得
    'tax_query' => array(				//カスタム分類を複数選択
    'relation' => 'AND',			//ANDまたはOR
    array(
    'taxonomy' => '文化',
    'terms' => array('言語'),	//タクソノミのスラッグ名
    'field' => 'slug'			//terms で指定したフィールド(term_id(デフォルト),name,slug)
    ),
    array(
    'taxonomy' => '国',
    'terms' => array(★$terms★),	//タクソノミのスラッグ名
    'field' => 'slug',			//terms で指定したフィールド(term_id(デフォルト),name,slug)
    )));
    $wp_query = new WP_Query($args);
    ?>

    もしご存知でしたらご教授いただけますと幸いです!
    何卒よろしくお願いいたします。

    トピック投稿者 chibiyuko_0124

    (@chibiyuko_0124)

    ★terms★の部分を下記にすることで実現しました!

    $term->slug

    よって解決済みとさせていただきます。

    ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)

トピック「カスタム投稿 現在のタクソノミーを取得+ターム別の記事一覧を表示」には新たに返信することはできません。