サポート » プラグイン » カスタムフィールドで作成した各情報の紐付け

  • 解決済 stellanova99

    (@stellanova99)


    利用環境
    WordPress 4.9.10
    Custom Post Type UI バージョン 1.6.0
    Advanced Custom Fields PRO バージョン 5.7.7

    商品紹介及び取扱店舗の紹介サイトを制作中です。
    『Custom Post Type UI』と『Advanced Custom Fields』を利用しています。

    商品詳細ページと店舗詳細ページの紐付け方法がわからず止まっています。
    やりたい事としては、商品Aの詳細ページを開くと商品画像や発売元などの詳細情報の他にリンク付の取扱店舗名欄を表示し、仮に取扱店舗Aのリンクをクリックすると取扱店舗Aの店舗画像や住所などの詳細情報とその店舗Aに紐付けされた商品、取扱店舗A以外のB,Cを画像つきリンクとして一覧表示したいと思っています。
    商品詳細情報の取扱店舗リンク以外はうまく表示できています。

    現在の状況としては、
    CPT UIで投稿タイプ「product」を作成
    カスタムフィールドでタクソノミー「商品カテゴリ:productcat」とタクソノミー「取扱い店舗:productdealer」を作成
    商品カテゴリ「productcat」に

    食肉
    ¦-ハム(スラッグ:meat)

    取扱い店舗「productdealer」に
    店舗一覧
    ¦-店舗A
      ¦-店舗A○○店
      ¦-店舗A▲▲店

    としました。

    single-product.phpを作成し

    
    <?php } elseif ( has_term( array('meat'), 'productcat') ) { ?>
    <dl>
    <dt>取扱店舗</dt>
    <dd><?php echo get_the_term_list( $post->ID, 'productdealer', '', ',', '');  ?></dd>
    </dl>
    

    というように出力することで取扱店舗の欄には店舗A、店舗A○○店、店舗A▲▲店が並びます。
    店舗名をクリックすると現在は店舗名と取扱商品一覧が並ぶようになっています。

    ・taxonomy-productdealer.php

    
    <h1 class="page-header-title"><?php single_term_title(); ?></h1>
    
    <div>
    <?php if( have_posts() ) : ?>
    <?php while( have_posts() ) : the_post(); ?>
    <div class="product-archive-item">
    <a href="<?php the_permalink() ?>">
    <figure><img src="<?php the_field('product-img-main'); ?>" alt=""></figure>
    
    <h3>
    <?php $terms = get_the_terms($post->ID,'product');foreach( $terms as $term ) {echo ''.$term->name.'';}?><br>
    <?php the_title(); ?>
    </h3>
    </a>
    </div>
    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>
    </div>
    

    このページに各店舗の店舗画像や営業時間などの詳細情報を表示させたいのですが、「商品カテゴリ:productcat」の中に店舗情報を作ればいいのか・・・現在のまま「取扱い店舗:productdealer」の中なのか、新しく投稿タイプ「productdealer」を作ってその中に作るのか・・・どう紐付けすればいいかわからず悩んでいます。

    乱文で大変恐縮ですが、ご教授お願い致します。

  • このトピックに返信するにはログインが必要です。