何でもありのカオスなブログ

STINGER3|NEW ENTRYを削除して過去記事をランダムで表示する!

      2015/03/05

いろんなところで言われてますが、サイドバーにあるNEW ENTRYって正直あんまりいらないですよね。

トップページならすでにエントリ一覧にあるし、記事を読んでいる時はそもそもあの位置じゃ見ないと思うんですよ。

と、言うことでこの際NEW NTRY削除!代わりに過去記事をランダムで表示してみました!

過去記事を表示してPvが増えるのか?と聞かれると正直ワカランって感じですが、ランダムでイロイロ出てくるのは面白いのでやってみました!

古い記事も読んで欲しいしね!っていう書いてる側のエゴな気がしますが気にしたら負け(・∀・)

SPONSORED LINK

NEW ENTRYからランダムへ!

ランダム記事

NEW ENTRYを削除する

まずはNEW ENTRYを削除しちゃいましょう!
NEW ENTRYの記述は、sidebar.phpに書かれているのでまずはテキストエディタで開きましょう。

あ、もちろんですがバックアップはお忘れなく。

開いたら、<!–最新のエントリ–>から<!–/最新のエントリ–>までを切り取ってエディタにコピペします。

    <!--最近のエントリ-->
    <h4 class="menu_underh2">NEW ENTRY</h4>
    <div id="topnews">
      <div>
<?php
$args = array(
    'posts_per_page' => 5,
);
$st_query = new WP_Query($args);
?>

<?php if( $st_query->have_posts() ): ?>
    <?php while ($st_query->have_posts()) : $st_query->the_post(); ?>
<dl><dt><span><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
        <?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>
    <?php the_post_thumbnail( 'thumb100' ); ?>
<?php else: // サムネイルを持っていないときの処理 ?>
    <img src="<?php echo get_template_directory_uri(); ?>/images/no-img.png" alt="no image" title="no image" width="100" height="100" />
        <?php endif; ?>
        </a></span></dt><dd><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>

<p><?php echo mb_substr( strip_tags( stinger_noshotcode( $post->post_content ) ), 0, 35 ) . ''; ?></p>
</dd>
<p class="clear"></p>
</dl>
    <?php endwhile; ?>
<?php else: ?>
    <p>記事はありませんでした</p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
        <p class="motto"> <a href="<?php echo home_url(); ?>/">→もっと見る</a></p>
      </div>
    </div>
    <!--/最近のエントリ-->

え?なんでコピペするのかって?
フフフ、後で分かりますよ(・∀・)

とりあえずこれでNEWENTRYの削除は完了です。

過去記事をランダムに表示する!

次にランダムで記事を表示させましょう。もちろんサムネイル付きです!

まずはさっきコピペしたNEWENTRYのコードに一文追加します。

 <!--最近のエントリ-->
    <h4 class="menu_underh2">NEW ENTRY</h4>
    <div id="topnews">
      <div>
<?php
$args = array(
    'posts_per_page' => 5,
    'orderby'=> 'rand', //ここで記事をランダムに表示するようにしてます
);
$st_query = new WP_Query($args);
?>

ランダム部分を付け加えたら、後は自分が表示したいとこに全部コピペすればOK!
そう、さっきエディタにコピーしたのはそのまま使いまわすためだったのです!(・`ω・)ドヤッ

ちなみに自分は、スクロールの時に追尾させたいので

<?php get_template_part(‘scroll-ad’);?>

の下にコピペしました。
NEWENTRYがあった位置に表示したいー!って人はすいません、最初の位置にそのまま戻してください。

後はCSSをいじって自分好みにいじりましょう!(・∀・)v

追記:STINGER5ではnewpost.phpを変更

コメントで質問されたので追記。

STINGER5の場合は、新着記事(NewPost)がsidebar.phpではなく、newpost.phpに書いてあるのでそっちをいじらないとダメなんです_(:3 」∠)_

デフォルトの状態で使っている場合、下のコードをそのまんまコピペしてnewpost.phpに上書きしてあげればおk。新着記事だったところがランダムに変わってるはず!

<div id="kanren">
  <?php
$args = array(
    'posts_per_page' => 5,
    'orderby'=> 'rand', //この一文を追加すればランダムになります!
);
$st_query = new WP_Query($args);
?>
  <?php if( $st_query->have_posts() ): ?>
  <?php while ($st_query->have_posts()) : $st_query->the_post(); ?>
  <dl class="clearfix">
    <dt> <a href="<?php the_permalink() ?>">
      <?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>
      <?php the_post_thumbnail( 'thumb150' ); ?>
      <?php else: // サムネイルを持っていないときの処理 ?>
      <img src="<?php echo get_template_directory_uri(); ?>/images/no-img.png" alt="no image" title="no image" width="100" height="100" />
      <?php endif; ?>
      </a> </dt>
    <dd>
      <h5><a href="<?php the_permalink(); ?>" >
        <?php the_title(); ?>
        </a></h5>
      <div class="smanone">
        <?php the_excerpt(); //スマートフォンには表示しない抜粋文 ?>
      </div>
    </dd>
  </dl>
  <?php endwhile; ?>
  <?php else: ?>
  <p>新しい記事はありません</p>
  <?php endif; ?>
  <?php wp_reset_postdata(); ?>
</div>

 もしサイドバーで位置を変えたい場合は、sidebar.phpを開いて

  <!-- 最近のエントリ -->
  <h4 class="menu_underh2"> NEW POST</h4>
  <?php get_template_part('newpost');?>
  <!-- /最近のエントリ -->

 13~16行目に書いてある最新のエントリの部分を表示したい位置に移動させてあげれば大体なんとかなります。たぶん_(:3 」∠)_

うまくいかないとかあったら、コメントかTwitterにお願いしますm(_ _)m

NEWENTRYとランダム表示を使い分ける!

NEWENTRYをそのまま削除しちゃってもいいんですが、特定のページでは表示したい!って人もいると思います。

そんなときは、コレで上手に使い分けましょう!

<?php if (is_home()) { ?>
TOPページだけ表示
<?php } else if (is_page('')) { ?>
固定ページだけ表示
<?php } else if (is_single('')) { ?>
投稿だけ表示
<?php } else { ?>
その他の表示
<?php } ?>

参考:STINGER3公式

これを使えば、トップページではランダム、個別記事では最新記事なんてことも可能です!

ちなみにコレ、この記事を書くときになんとなーくSTINGERの公式みてたら発見したやつですw

正直カスタマイズしてるときに知りたかったよ!よ!(´Д⊂ヽ

他にも

<?php if(is_mobile() ) { ?>
スマホでだけ表示
<?php } else { ?>
その他の表示
<?php } ?>

こんなこともできるので自分の好きなようにドウゾ!

ひとこと

最初はfunctionに書く方法を見てたんですが、CSSでうまく見た目をいじれなかったのでランダム表示は諦めようかなーなんて思ってたんですよね。

けど何かの拍子に、NEWENTRYをうまく使えばランダム表示できるんじゃないか!?って思って試してみたらできちゃいました(・∀・)v

これで少しでもPv増えたらいいなー。

 - カスタマイズ