1. >
  2. >
  3. 投稿記事をランダムでピックアップ

投稿記事をランダムでピックアップ

ランダムでめくれるイメージ
PHP

記事をランダムに表示させる

関連記事や新着記事を呼び出す方法はたくさんありますが、たまに過去の記事を目にしてひらめくときってありませんか?
今回は、ランダムで投稿記事を表示する方法を紹介します。

サイドバーに一覧として出力するパターンと、スクロールを使ってコンパクトに表示する方法を紹介します。

ランダム記事を入れる場所

サイドバーに入れてみます。
sideber.phpの閉じタグ手前に入れます。

サイドバーに入れたイメージ

ランダムで出すソース

アイキャッチに画像が入っていない場合に、ノーイメージとして画像が出るように条件分岐しています。
お好みの画像を入れるか、不要な場合は削除してください。

記事数を変更する場合は、「showposts =>5」の数字を調整してください。
ここの数字が表示記事数になります。

 
<h3>ピックアップ</h3>
<div class="pickup">
     <ul class="lower-page">
<?php query_posts(array('orderby' => 'rand', 'showposts' => 5));
if (have_posts()) :
while (have_posts()) : the_post(); ?>
<li>
  <p><a href="<?php the_permalink(); ?>">
        <?php if ( has_post_thumbnail() ):   ?>
        <?php echo get_the_post_thumbnail($post->ID); ?>
        <?php else:  ?>
        <img src="https://ドメイン/image/お好みの画像.png" alt="NO IMAGE" title="NO IMAGE" />
        <?php endif; ?>
        </a></p>
  <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p></li>
<?php endwhile; endif; ?>
</ul>
</div>  

立て並びで一覧表示させるCSS

サイドバーにアイキャッチとタイトルを並べただけのcssです。
立て並びのイメージ

 
.pickup ul {
    margin: 0;
}
.pickup li {
    list-style: none;
}
.pickup li p {
    margin-bottom: 0;
}
.pickup ul.lower-page li {
    margin-bottom: 1.5rem;
}
.pickup ul.lower-page li p {
    font-size: 0.8rem;
    line-height: 1.5;
}

横並びにしてスクロールさせる

cssだけでスクロールできるんです。ピタッと止まってくれるスクロールの詳細は、こちらで紹介していますのでご確認下さい。
スライダーとかスクロールでピタッと止まって欲しい!scroll-snap-typeってなに

イメージはこんな感じになります。
スクロールさせたイメージ

5記事を横並びにしたときのスタイルを紹介します。
スマホサイズにしたときにスクロールがピタっと止まるので、ぜひお試しください。

 
.pickup ul.lower-page li {
    margin: 0 0.5rem 0.5rem;
    width: 275px;
    scroll-snap-align: start;
    padding: 0.5rem;
    list-style: none;
}
.pickup ul.lower-page li p {
    font-size: 0.8rem;
    line-height: 1.5;
    margin-bottom: 0;
}
.pickup ul.lower-page {
    width: 1600px;
    display: flex;
    margin: 0;
}
.pickup {
    height: 220px;
    overflow: hidden;
    width: 280px;
    max-width: 100%;
    overflow-x: scroll;
    border: 2px solid #666;
    margin: 1rem 0;
    box-shadow: 6px 5px #eee;
    scroll-snap-type: x mandatory;
}

このサイトのサイドバーにもランダム記事をスクロールできるようにしていますので、確認してみてください。

カテゴリー: PHP

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る