カスタム投稿内に記事一覧を表示したい
タグ: Advanced Custom Fields, カスタム投稿, 商品一覧
- このトピックには3件の返信、2人の参加者があり、最後にkennykennyにより4年前に更新されました。
-
投稿者投稿
-
2020年10月1日 6:29 PM #91005kennykenny参加者
店舗案内ページを複数作成し、一番下にその店舗で販売している商品一覧を並べたいと考えています。
最初、投稿ページで作ろうと思いましたが、投稿記事と商品とカテゴリーを一致させることが出来ないので諦めました。
そこで、カスタム投稿で店舗案内を作成し、Advanced Custom Fieldsプラグインのタクソノミーを使って、商品とのカテゴリーを一致させることが出来ました。
見よう見まねで、下記の記事を参考に一覧を表示するコードを書いてみたのですが、何も表示されない状態です。。
WordPress表示中の投稿と同じタームに分類された投稿の表示方法
https://hirashimatakumi.com/blog/4226.html既存のテーマを利用したショップの作り方その2
https://www.welcart.com/community/archives/759Advanced 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
——————————————–2020年10月1日 9:29 PM #91009kennykenny参加者すみません、、タイトル間違えました。。
誤「カスタム投稿内に記事一覧を表示したい」
↓
正「カスタム投稿内に商品一覧を表示したい」また最後、コードが少し切れてしまったようです。。
`
・・・
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
‘
引き続きどうぞよろしくお願いいたします。m(__)m2020年10月5日 10:20 AM #91037yasumaxキーマスターこんにちは。
タクソノミー名「store_cat」のカスタムタクソノミーを作成して商品で選択できるようにしたということで認識あっていますか?
何も表示されない状態です。
何も表示されないとのことなので
if($the_query->have_posts())
の前を確認する必要があるのではないでしょうか。
属しているカスタムタクソノミーを生成している$terms_slug
の中身は正しいのか、またWP_Query
に渡している絞り込み条件は正しいのかその条件に属している商品はあるのかなど1つずつ確認していくしかないかと思います。2020年10月5日 9:59 PM #91049kennykenny参加者ご返信ありがとうございます。
詳しい方の力を借りて、解決してまいりたいと思います。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。