カスタム投稿内に記事一覧を表示したい

フォーラム 使い方全般 カスタム投稿内に記事一覧を表示したい

  • このトピックには3件の返信、2人の参加者があり、最後にkennykennyにより4年前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #91005
    kennykenny
    参加者

    店舗案内ページを複数作成し、一番下にその店舗で販売している商品一覧を並べたいと考えています。

    最初、投稿ページで作ろうと思いましたが、投稿記事と商品とカテゴリーを一致させることが出来ないので諦めました。

    そこで、カスタム投稿で店舗案内を作成し、Advanced Custom Fieldsプラグインのタクソノミーを使って、商品とのカテゴリーを一致させることが出来ました。

    見よう見まねで、下記の記事を参考に一覧を表示するコードを書いてみたのですが、何も表示されない状態です。。

    WordPress表示中の投稿と同じタームに分類された投稿の表示方法
    https://hirashimatakumi.com/blog/4226.html

    既存のテーマを利用したショップの作り方その2
    https://www.welcart.com/community/archives/759

    Advanced Custom Fieldsのバージョンアップに伴う対応
    https://www.welcart.com/community/forums/topic/advanced-custom-fields%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e3%82%a2%e3%83%83%e3%83%97%e3%81%ab%e4%bc%b4%e3%81%86%e5%af%be%e5%bf%9c

    どなたか詳しい方、ヒントだけでも教えていただけないでしょうか。
    よろしくお願いいたします。m(__)m

    <ここから>

    
    <?php // 現在表示されている投稿と同じタームに分類された投稿を取得
      $taxonomy_slug = 'store_cat'; // タクソノミーのスラッグを指定
      $post_type_slug = 'store'; // 投稿タイプのスラッグを指定
      $post_terms = wp_get_object_terms($post->ID, $taxonomy_slug); // タクソノミーの指定
      if( $post_terms && !is_wp_error($post_terms)) { // 値があるときに作動
        $terms_slug = array(); // 配列のセット
        foreach( $post_terms as $value ){ // 配列の作成
          $terms_slug[] = $value->slug; // タームのスラッグを配列に追加
        }
      }
      $args = array(
        'post_type' => $post_type_slug, // 投稿タイプを指定
        'posts_per_page' => 5, // 表示件数を指定
        'orderby' =>  'rand', // ランダムに投稿を取得
        'post__not_in' => array($post->ID), // 現在の投稿を除外
        'tax_query' => array( // タクソノミーパラメーターを使用
          array(
            'taxonomy' => $taxonomy_slug, // タームを取得タクソノミーを指定
            'field' => 'slug', // スラッグに一致するタームを返す
            'terms' => $terms_slug // タームの配列を指定
          )
        )
      );
      $the_query = new WP_Query($args); if($the_query->have_posts()):
    ?>
    
    <?php while (have_posts()) : the_post(); usces_the_item(); ?>
    <dl>
    <dt>商品名と商品コード</dt>
    <dd><?php usces_the_itemName(); ?>:<?php usces_the_itemCode(); ?></dd>
    <dt>メイン画像(商品詳細ページへのリンク)</dt>
    <dd><a href=”<?php the_permalink(); ?>”><?php usces_the_itemImage(0, 150, 150); ?></a></dd>
    <dt>サブ画像(写真へのリンク)</dt>
    <dd><a href=”<?php usces_the_itemImageURL(1); ?>”><?php usces_the_itemImage(1, 100, 100); ?></a><dd>
    <dt>記事本文</dt>
    <dd><?php echo $post->post_content; ?></dd>
    <dt>抜粋</dt>
    <dd><?php echo $post->post_excerpt; ?></dd>
    <?php usces_have_skus(); ?>
    <dt>在庫ステイタスと価格など抜粋</dt>
    <dd><span class=”zaikostatus”><?php usces_the_itemZaiko(); ?></span><span class=”price”><?php usces_the_itemPrice(); ?>円</span><span class=”tax”><?php usces_guid_tax(); ?></span></dd>
    </dl>
    

    <ここまで>

    ——————————————-
    WordPress のバージョン:5.4.2
    Welcart のバージョン:1.9.32
    PHP のバージョン:7.3
    ご利用のテーマ:WelcartBasic の自作子テーマ
    症状を確認したブラウザ:
    サーバー:ヘテムル
    SSLの利用:常時SSL
    ——————————————–

    #91009
    kennykenny
    参加者

    すみません、、タイトル間違えました。。
    誤「カスタム投稿内に記事一覧を表示したい」

    正「カスタム投稿内に商品一覧を表示したい」

    また最後、コードが少し切れてしまったようです。。

    `
    ・・・
    <?php endwhile; ?>
    <?php wp_reset_postdata(); ?>
    <?php endif; ?>

    引き続きどうぞよろしくお願いいたします。m(__)m

    #91037
    yasumax
    キーマスター

    こんにちは。

    タクソノミー名「store_cat」のカスタムタクソノミーを作成して商品で選択できるようにしたということで認識あっていますか?

    何も表示されない状態です。

    何も表示されないとのことなのでif($the_query->have_posts())の前を確認する必要があるのではないでしょうか。
    属しているカスタムタクソノミーを生成している$terms_slugの中身は正しいのか、またWP_Queryに渡している絞り込み条件は正しいのかその条件に属している商品はあるのかなど1つずつ確認していくしかないかと思います。

    #91049
    kennykenny
    参加者

    ご返信ありがとうございます。

    詳しい方の力を借りて、解決してまいりたいと思います。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。