みなさんのサイトでは、たとえば「お知らせ」などの記事系コンテンツのアーカイブはどういう分類で分けていますか?
・サブカテゴリ別(企業情報・IR、キャンペーン、・・・)
・年別(2017年、2016年、・・・)
・分類していない(ページネーションだけ)
だいたいこの3つのどれかで分類していると思います。
さて、この3つのうち、年別で分類しているサイトで「お知らせ」のトップページに何を表示させたらいいでしょう?
サイドバーに年別アーカイブの一覧が並んでいるのに「お知らせ」のトップには年関係なく最新10件並べる、というのでは芸がないですよね。
その1つのソリューションとしては
「お知らせにリンクしたら最新年のアーカイブページにリダイレクトする」
を私たちはご提案したいと思います。
現に多くのサイトがそうしています。
では、それをWordPressで実現する方法のご紹介。
archive.php を下記のように記述します。
<?php if (is_date()){ ?> <?php get_header(); ?> <!-- 途中省略 --> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); //記事一覧表示ループ処理 <?php endwhile; endif; ?> <!-- 途中省略 --> <?php get_footer(); ?> <?php }else{ ?> <?php $url = get_category_link( get_query_var('cat') ); $recent_post = get_posts('numberposts=1'); if (count($recent_post) > 0) { $recent_post_id = $recent_post[0]->ID; $year = get_post_time('Y',false,$recent_post_id); } wp_safe_redirect( $url.$year.'/' ); exit; ?> <?php } ?>
やっていることは、
年別アーカイブのトップでは普通に記事一覧表示ループを走らせ、
カテゴリトップでは最新記事の”年”を取得してそのページにリダイレクトする、です。
これで、記事系コンテンツを年別で一覧にしたいサイトの悩み、ひとつ解決ですね。
WordPressカスタマイズ事例やWeb制作ノウハウの新着情報、
お役立ち情報をリアルタイムにメールでご案内
100ウェブでは、WordPressのカスタマイズだけでなく、様々な最新のウェブサービスを活用したウェブ制作ノウハウを保有しております。
あらゆるサービスを利用して顧客満足を向上し、売上の上がるサイトをつくりましょう。
100ウェブでは、すべての方に無料でデザインをご提案。
提案されたデザインを見てから購入するか決めてください。気に入らなければデザイン料金無料!
お気軽にご相談ください。
受付時間
平日 10:00~18:00
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
メールでのお問い合わせでも
1営業日以内にご連絡いたします。