WordPressでプラグインを使わずに関連する記事を表示させてみました。

最近wordpressを使って何か作ろうとしているのですが、プラグインを入れすぎると重くなると書いてある記事が多かったので、出来るだけ自分で作るように心掛けています。

で、ブログなどでよく関連する記事というのが表示されているので、プラグインを使わずに表示してみました。

今回は同じカテゴリにある記事をランダムで表示するものです。

ソースは以下のような感じ。
これをsingle.phpなど記事を表示しているページの好きな個所に入れると記事を表示します。

<ul>
	<?php
	$categors = get_the_category($post->ID);

	if ($categors) {
		$first_categor = $categors[0]->cat_ID;
		$args=array(
		'category__in' => array($first_categor),
		'post__not_in' => array($post->ID),
		'showposts'=>8,
		'caller_get_posts'=>1,
		'orderby' => 'rand'
		);
		$my_query = new WP_Query($args);
		if( $my_query->have_posts() ) {
			while ($my_query->have_posts()) : $my_query->the_post(); ?>
				<li>
					<a href="<?php the_permalink();?>">
						<span><?php the_title(); ?></span>
					</a>
				</li>
			<?php endwhile; wp_reset_query(); ?>
		<?php } else { ?>
			<p>関連する記事は見当たりません…</p>
		<?php } ?>
	<?php } ?>
</ul>

知らなかったのですが、「orderby」に「rand」を指定すると記事をランダムに取得するのですね。

'orderby' => 'rand'

自分でやってみると勉強になりますわ。