私と違い、何百も何千もブログを更新されている方には、
過去に良質な記事がたくさん埋もれている、という方もいらっしゃるかもしれません。
本日こちらの記事を参考に、
過去の記事をランダムでtwitterで呟く設定をしました。
【関連】Twitterで過去記事を自動で呟くのをやってみた。凄く簡単「Tweetily」の使い方
そこで今回は、ブログ本体のサイドバーにも過去のエントリをランダムで表示できないかということで、
プラグインを使わずに実装してみることにします。
完成図
このように、サイドバーに過去のエントリをランダムで表示させています。
stingerの追随ウィジェットコードのあたりに書いているので、
エントリを下まで読み進めながらもピッタリサイドバーにくっついてきます。
注意点
当たり前のことですが、事前にバックアップはとっておきましょう。
コード
以下のコードをfunction.phpに追加してください。
// ランダム function random_post_list($show_num) { query_posts('posts_per_page=' . $show_num . '&orderby=rand'); if(have_posts()) { while(have_posts()) { the_post(); echo '<li style="padding-bottom:15px;">'; the_post_thumbnail(array(60,60), array('style' => 'float:left;overflow: hidden;height: auto;padding-right:10px;')); echo '<a href="'; the_permalink(); echo '">'; the_title(); echo '</a><br><span>('; the_time('Y年m月d日'); echo ')</span></li>'; } } wp_reset_query(); }
そして、実際にランダムで記事を表示させたいところに
以下のコードを入れてください。
<div style="text-align:left;"> <ul> <?php random_post_list(7); ?> </ul> </div>
私はsidebar.phpの、「<?php get_template_part(‘scroll-ad’);?>」の真下に書いています。
デザインの微調整
上のコードをそのままコピペすると、ちょうど当ブログで表示されているような感じになります。
(テーマはStinger3を使用)
この見た目を変えるのであれば
float:left;overflow: hidden;height: auto;padding-right:10px;
の部分を編集したり、新しくarrayでclassを追加してcssで整えると良いです。
また、表示するエントリの数は「<?php random_post_list(7); ?>」の数字を変更してください。
まとめ
探せば似たようなプラグインもあるとは思いますが、
できるだけプラグインは数多く入れたくないのでfunction.phpに書いてみました。
自分のブログを見にきた人に、
過去のエントリを「ついで読み」してほしいなと思う方は一度お試しあれ。
では!