サポート » 使い方全般 » 投稿記事内に、特定タームに属する記事を動的に表示させたいです

  • 解決済 bucchus

    (@bucchus)


    はじめまして。
    まだWP初心者の域だと思いますので、分かりににくい所があればご指摘いただけると幸いです。
    是非お力添えお願い致します。

    雑貨を扱うサイトを制作中なのですが、
    single.phpで作成している投稿記事ページに、
    カスタム投稿タイプで作成している特定タームの記事を3件動的に表示させたいと思っております。

    現在の制作段階は以下の通りです。
    ■(作成済)商品ページを通常の投稿機能を使って作成
    ■(作成済)お客様の声をカスタム投稿で作成
    ■(悩み中)商品詳細ページに、お客様の声をタームで分岐させて表示

    例えば、商品詳細ページのスラッグを「椅子(chair01)」「カップ(cup01)」で作成し、
    お客様の声のタームを「椅子(voice_chair01)」「カップ(voice_cup01)」で作成するとします。
    この状態で、椅子ページには椅子のお客様の声を、カップページにはカップのお客様の声を表示したいと考えています。
    今後も商品が増えますので、自動で商品詳細ページのスラッグを取得する形を希望しています。

    また、別のサイトを参考に以下の所までこぎ着けた(と思っています)のですが、
    コード内の商品のスラッグを取得する方法が分かりません。
    ここをなんとかすれば実装可能なのか、そもそも考え方が誤っているのか
    その辺りも含めてご教授いただけると幸いです。

    <?php
    $args=array(
    ‘tax_query’ => array(
    array(
    ‘taxonomy’ => ‘voice_category’,
    ‘field’ => ‘slug’,
    ‘terms’ => ‘voice_(商品のスラッグ)’
    ),
    ),
    ‘post_type’ => ‘voice’,
    ‘posts_per_page’=> 3
    );
    ?>
    <?php query_posts( $args ); ?>
    <?php if(have_posts()): ?>
    <?php while(have_posts()):the_post(); ?>

    お客様の声が存在する場合の内容

    <?php endwhile; else: ?>

    お客様の声が存在しない場合の内容

    <?php endif; ?>
    <?php wp_reset_query(); ?>

    サイトマップサンプルは以下の通りです。

     ├ 商品ページ (service)
       ├ 椅子カテゴリー (chair)
       └ 椅子01 (chair01)
       ├ カップカテゴリー (cup)
       └ カップ01 (cup01)
           …

     ├ お客様の声 (voice)
       ├ 椅子のお客様の声 (voice_chair)
       └ 椅子01のお客様の声 (voice_chair01)
       ├ カップのお客様の声 (voice_cup)
       └ カップ01のお客様の声 (voice_cup01)
           …

    お手数をお掛けしますが何卒宜しくお願い申し上げます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    $post->post_name

    で取得可能です。
    $args に適用する場合は、

    'voice_' . $post->post_name,

    として、文字列を結合させます。
    この方法でも問題ないと思いますが、商品追加に合わせて、お客様の声のタームを追加するのが手間と言えば手間になりますね。

    あとは、posts 2 posts や Advanced custom fiedls などのプラグインを用いて、post 同士で関連を持たせる方法などもあります。

    トピック投稿者 bucchus

    (@bucchus)

    jim912さん

    ご回答ありがとうございます。
    いただいた内容でバッチリ想定した動きになりました!
    大変助かりました。

    ‘terms’ => ‘voice_’.$post->post_name

    またプラグインについても参考にさせていただいたうえ、実装を検討させていただきます。
    諸々、ありがとうございました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「投稿記事内に、特定タームに属する記事を動的に表示させたいです」には新たに返信することはできません。