固定ページに商品一覧をカテゴリ分けして表示

2015 年 9 月 5 日

ホーム フォーラム その他 固定ページに商品一覧をカテゴリ分けして表示

このトピックには4件の返信が含まれ、3人の参加者がいます。1 年、 10 ヶ月前 nanbu さんが最後の更新を行いました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #75610

    Othellot
    参加者

    質問させていただきます。
    当方WordPress初心者のため苦戦しております。

    現在nanbu様の書かれた「既存のテーマを利用したショップの作り方 その2」を参考にImbalance2というテーマを使い、固定ページに商品一覧(商品名、画像)をカテゴリを分けて表示させようとしていますが、1つ目のカテゴリは正常に横並びをして表示されるのですが、2つ目のカテゴリからCSSが効いていないのか、横並びせずに全て縦に並んでしまします。
    ループが複数あると何か問題が出るのでしょうか?
    初心者のため見当違いな事をしているかもしれませんがご容赦願います。
    何卒ご教授お願い致します。

    <?php get_header(); ?>
    
    <div id="container">
    <div id="content" role="main">
    
    <h2>商品一覧</h2>
    <h3>カテゴリ1</h3>
    <?php if (have_posts()) : ?>
    <?php query_posts('cat=9'); ?>
    <?php while (have_posts()) : the_post(); usces_the_item(); ?>
    <?php endwhile; ?>
    <?php endif; ?>
    <?php get_template_part( 'loop', 'item' ); ?>
    
    </div><!-- #content -->
    </div><!-- #container -->
    
    <div id="container">
    <div id="content" role="main">
    
    <h3>カテゴリ2</h3>
    
    <?php if (have_posts()) : ?>
    <?php query_posts('cat=10'); ?>
    <?php while (have_posts()) : the_post(); usces_the_item(); ?>
    <?php endwhile; ?>
    <?php endif; ?>
    <?php get_template_part( 'loop', 'item' ); ?>
    
    </div><!-- #content -->
    </div><!-- #container -->
    
    <?php get_footer(); ?>

    ——————————————-
    WordPress のバージョン:4.2.4
    Welcart のバージョン:1.4.21
    ご利用のテーマ:Imbalance2
    症状を確認したブラウザ:
    サーバー(会社名、サービス名):
    SSLの利用: 
    WordPress のパーマリンク設定:カスタム構造/archives/%post_id%/
    ——————————————–

    #75616

    uishi
    参加者

    query_posts、get_posts、new WP_QUERYあたりを検索するといいかも。
    たぶんquery_postsは1ページ分のデーター取得向き、
    で最近はpre_get_postsをfunctions.phpとかに
    書く方がいいみたいな話じゃなかったかな。

    #75630

    nanbu
    参加者

    こんにちは。

    記事が古くて申し訳ありません。
    今は、query_postsよりも、get_posts や new WP_Query を使う方が良いとされております。
    get_posts を使うとこのようになります。

    
    <?php
    $args = array( 'category' => 9 );
    $myposts = get_posts( $args );
    foreach ( $myposts as $post ) :
        setup_postdata( $post );
        get_template_part( 'loop', 'item' );
    endforeach; 
    wp_reset_postdata();
    ?>
    

    get_template_part で呼ばれるテンプレートでは、global $usces; を先頭に入れて置かなくてはいけないかと思います。
    未検証ですので、うまく行かなかったらごめんなさい。

    #75642

    Othellot
    参加者

    uishi様
    nanbu様
    情報ありがとうございます。
    今はquery_postsは推進されていないようですね。
    WordPressはどんどん更新されているようですのでさすがに5年も前の記事だとその通りには行きませんね。しかしnanbu様の記事には助けてもらっております。

    上記コードで試してみましたが、固定ページ名が呼び出され、商品の情報は呼び出されませんでした。
    もう少し自分でも調べてみますが、他に良い方法があればご教授いただければ幸いです。

    #75712

    nanbu
    参加者

    こちらを参考にされると良いかと思います。
    http://goo.gl/Hqy7UL

5件の投稿を表示中 - 1 - 5件目 (全5件中)

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