この実装、面倒なら代行します
みなさんのサイトでは、たとえば「お知らせ」などの記事系コンテンツのアーカイブはどういう分類で分けていますか?
・サブカテゴリ別(企業情報・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('posts_per_page=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カスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。