[解決済み] home.phpのお勧め商品をランダムに表示したい

フォーラム 使い方全般 [解決済み] home.phpのお勧め商品をランダムに表示したい

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

    WordPress のバージョン:3.41

    Welcart のバージョン:1.1.10

    ご利用のテーマ:デフォルトをカスタマイズ

    home.phpのお勧め商品の表示方法をサイドバーのお勧め商品の表示のようにランダムに表示をさせたく、サイドバーのソースの必要と思われるソースをhome.phpに移植したところ、うまく表示されません

    ほぼランダムに表示されるのですが、

    表示件数が、ある時は正しく表示されるのですが、ある時は少なく表示されたりします。

    (10件表示するように設定にしているにも関わらず、4件しか表示されなかったり、5件しか表示されなかったりします)

    確認方法はブラウザの再読み込みで行いました。その際サイドバーのお勧めの表示は正常でした。

    アドヴァイスをいただけませんでしょうか?

    よろしくお願いいたします

    <div class="clearfix">
    <?php $offset = usces_posts_random_offset(get_posts('category='.usces_get_cat_id( 'itemreco' )));
    $myposts = get_posts('numberposts=10&offset='.$offset.'&category='.usces_get_cat_id( 'itemreco' ));
    foreach($myposts as $post) : usces_the_item();?>
    <div class="thumbnail_box">
    <div class="thumimg"><a href="<?php the_permalink() ?>">
    <?php usces_the_itemImage($number = 0, $width = 150, $height = 150 ); ?>
    <div class="thumtitle">
    <?php usces_the_itemName(); ?>
    </div>
    </a></div>
    <!--プライス-->
    <?php if (usces_is_skus()) : usces_have_skus()?>
    <?php if (usces_have_zaiko_anyone() ): ?>
    <?php if (usces_the_firstCprice('return') > 0) : ?>
    <div class="reg_price">
    <?php usces_crform( usces_the_firstCprice('return'), true, false ); ?>
    <?php usces_guid_tax(); ?>
    </div>
    <?php endif; ?>
    <div class="price">
    <?php usces_crform( usces_the_firstPrice('return'), true, false ); ?>
    <?php usces_guid_tax(); ?>
    </div>
    <?php else: ?>
    <div class="price">
    <?php usces_the_itemZaiko(); ?>
    </div>
    <?php endif; ?>
    <?php endif; ?>
    <!--//プライス-->
    </div>
    <?php endforeach; ?>
    <?php wp_reset_query(); ?>
    </div>

    #65268
    uishi
    参加者

    get_postsをググるとoffsetは取得開始位置みたいですね。

    ランダムに表示するときはorderbyにrandでいけるんじゃないでしょうか。

    あまり詳しくないですが。

    #65269
    nanbu
    キーマスター

    こんにちは。

    offsetをランダムにしている為、offset値が大きくなると商品が足りなくなり表示される数が少なくなっているのではと思います。

    uishiさんのおっしゃる通り、offsetは使わず、&orderby=randにして、頭から10件取るといった方法が良いかと思います。

    #65270
    たお
    参加者

    uishi様

    nanbu様

    希望通りに表示することが出来ました

    心より感謝申し上げます。

    ありがとうございます。

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