記事ページではカテゴリに属する新着順に変えるWordPressのカスタマイズ方法

PR

記事ページでは新着記事を、属するカテゴリにするほうが
カテゴリに興味を持って見てもらっている人にとって、他の記事にも興味を持ってもらいやすいかな?と思います
カテゴリが複雑に沢山あると、どうしてもサイト全体に統一感が無くなってしまいますが、属するカテゴリごとに表示する内容を変えることで、カテゴリという括りでの統一感も出せるかと思います

 

single.php(記事ページ)で新着記事をカテゴリに属すもののみ表示する方法

コード single.phpに直接記入する場合

<?php
   $cat = get_the_category();
   $catids = "";
    foreach(    $cat  as $catid)
   {
        $catids .=  $catid->cat_ID.",";
   } 
    $relposts = get_posts('category='.$catids.'&numberposts=5&orderby=desc');?> 
<?php foreach($relposts as $post) : ?> 
    <a href="<?php the_permalink(); ?>"><?php the_title("");?></a>
<?php endforeach;wp_reset_postdata(); ?>

 

コード sidebar.php等で表示する場合

<?php if(is_single()): ?>

//シングルページの場合にこちらを表示
<?php
   $cat = get_the_category();
   $catids = "";
    foreach(    $cat  as $catid)
   {
        $catids .=  $catid->cat_ID.",";
   } 
    $relposts = get_posts('category='.$catids.'&numberposts=5&orderby=desc');?> 
<?php foreach($relposts as $post) : ?> 
    <a href="<?php the_permalink(); ?>"><?php the_title("");?></a>
<?php endforeach;wp_reset_postdata(); ?>

<?php else: ?>

//シングルページ以外の場合にこちらを表示
<?php query_posts('showposts=5&orderby=desc');?>
<?php if(have_posts()):while(have_posts()):the_post();?>
    <a href="<?php the_permalink(); ?>"><?php the_title("");?></a>
<?php endwhile;endif;?>

<?php endif;wp_reset_postdata(); ?>

こちらのコードではシングルページかどうかを判断して、違う場合は普通の新着一覧を表示しています
トップページやタグ一覧、カテゴリ一覧では一番最初の記事のカテゴリを拾ってしまうので、通常の新着にしました

カテゴリは複数のカテゴリに属していても、その新着順に表示できます

WordPressのプラグインに感謝さんの記事に載っていたコードを使いました

 

参考にした記事

http://milkveil.com/archives/1603

PR

COMMENT

コメントを残す

PR

9ineBBの管理人が運営するサイト

WDG WEB DESIGN GALLERY ウェブデザインギャラリー