WordPressで埋もれてる記事を表示して、昔の記事を甦らせる。

ランダムに記事を表示して昔の記事を甦らせる
かれこれ、8年も続けてきたこのブログ。

その間、引っ越し(サーバー)もあったりして、昔の記事は画像がリンク切れだったりというのも多いけども、どうしても削除できない。

だって、ひとつひとつが大切な思い出だからね。

こうやって、昔の記事をランダムに表示したりすると、手直ししなくちゃいけない記事が浮き彫りに・・・

気が付いた時に、都度、画像を入れたりと手を加えている。

2019/1/17 「query_posts()」 は非推奨なので修正しました!

ランダムに投稿を表示して埋もれている貴重な記事を掘り起こす

<?php query_posts(array('orderby' => 'rand', 'showposts' => 3, 'cat' => 4,23));
if (have_posts()) : while (have_posts()) : the_post();?>
<ul class="random-post">
<li class="alllink">
<a  href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php if (has_post_thumbnail()) : ?><?php the_post_thumbnail('side_thumbnail', array('class' => 'left')); ?></a><?php else : ?>
<img src="<?php bloginfo('home'); ?>/wp-content/images/default.png"></a>
<?php endif; ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<span class="sidebar-excerpt"><?php echo mb_substr(get_the_excerpt(), 0, 45); ?></span>
<p class="linkarea"><a href="<?php the_permalink(); ?>">more...</a></p>
</li>
</ul>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
<?php endif; ?>

ランダムに表示する。

'orderby' => 'rand'

何件表示するか。

'showposts' => 3

カテゴリ指定。”-”付けると除外。

'cat' => 4,23

先日の記事での「クリック領域を広げる」ためのクラス指定部分。
”li”リストタグにクラス”alllinkarea”付加。
a要素を囲むp要素にクラス”linkarea”付加。
クリック領域を広げてスマホのタップ操作に優しくするためのスタイルシート 

<li class="alllinkarea">
・・・・・・・
<p class="linkarea"><a href="<?php the_permalink(); ?>">more...</a></p>
</li>

あとは、このまえ投稿した、10年日記の中身と一緒だね。
ブログを10年日記みたいにしようとしてやってみたこと。

アイキャッチがあればアイキャッチを表示。
なければ、デフォルト画像を表示。

<a  href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php if (has_post_thumbnail()) : ?><?php the_post_thumbnail('side_thumbnail', array('class' => 'left')); ?></a><?php else : ?>
<img src="<?php bloginfo('home'); ?>/wp-content/images/default.png"></a>
<?php endif; ?>

タイトルと抜粋(45文字)も表示。

<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<span class="sidebar-excerpt"><?php echo mb_substr(get_the_excerpt(), 0, 45); ?></span>

またまた、非推奨の”query_posts”ですヽ(*^^*)ノ

get_postsで実装しようと試みるも・・・

実は、get_posts(テンプレートタグ/get posts – WordPress Codex 日本語版)で実現しようとやっては見るけど、同じ記事ばかり表示されたりとなかなかうまく行かない。

<?php
   $oldpost = get_posts( array( 
	'posts_per_page' => 3,
	'orderby'=>'rand'
   )); 
   foreach( $oldpost as $post ): 
   setup_postdata( $post );
?>
<ul class="random-post">
<li class="alllink">
<a  href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php if (has_post_thumbnail()) : ?><?php the_post_thumbnail('side_thumbnail', array('class' => 'left')); ?></a><?php else : ?>
<img src="<?php bloginfo('home'); ?>/wp-content/images/default.png"></a>
<?php endif; ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<span class="sidebar-excerpt"><?php echo mb_substr(get_the_excerpt(), 0, 45); ?></span>
<p class="linkarea"><a href="<?php the_permalink(); ?>">more...</a></p>
</li>
</ul>
<?php
  endforeach;
  wp_reset_postdata();
?>

 どこが違うのか、どなたかお教えくださいまし。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA