2014年07月05日(Sat)

パンくずリストをプラグインを使わずに作る:日付編
テストとして日付用のパンくずリストを作ってみました。
2ページ目以降は、ページ数も表示される仕様です。
パーマリンクがディフォルトだと年月日が取得できない!
原因は分かりませんが、パーマリンクがデフォルトになっている状態で「get_query_var()」を使用しても、年月日が取得できず0年0月0日のようになってしまう事に気づきました。 現段階で、対処法としてはパーマリンクでディフォルト以外を選択する方法しか分かりません…
パンくずリストの表示
コードとCSSは以下の通りです。
CODE
//日付のアーカイブが表示されているかチェック
if(is_date()){
echo '<ul class="breadcrumb">';
echo '<li><a href="'.home_url().'">HOME</a></li>';
//日別のアーカイブページが表示されているかチェック
if(is_day()){
echo '<li class="list"><a href="'.get_year_link(get_query_var('year')).'">'.get_query_var('year').'年</a></li>';
echo '<li class="list"><a href="'.get_month_link(get_query_var('year'), get_query_var('monthnum')).'">'.get_query_var('monthnum').'月</a></li>';
if($paged = get_query_var('paged')){
echo '<li class="list"><a href="'.get_day_link(get_query_var('year'), get_query_var('monthnum'), get_query_var('day')).'">'.get_query_var('day').'日</a></li>';
echo '<li class="list"><strong>'.$paged.'ページ目</strong></li>';
}else{
echo '<li class="list"><strong>'.get_query_var('day').'日</strong></li>';
}
//月別のアーカイブページが表示されているかチェック
}else if(is_month()){
echo '<li class="list"><a href="'.get_year_link(get_query_var('year')).'">'.get_query_var('year').'年</a></li>';
if($paged = get_query_var('paged')){
echo '<li class="list"><a href="'.get_month_link(get_query_var('year'), get_query_var('monthnum')).'">'.get_query_var('monthnum').'月</a></li>';
echo '<li class="list"><strong>'.$paged.'ページ目</strong></li>';
}else{
echo '<li class="list"><strong>'.get_query_var('monthnum').'月</strong></li>';
}
//年別のアーカイブページが表示されているかチェック
}else if(is_year()){
if($paged = get_query_var('paged')){
echo '<li class="list"><a href="'.get_year_link(get_query_var('year')).'">'.get_query_var('year').'年</a></li>';
echo '<li class="list"><strong>'.$paged.'ページ目</strong></li>';
}else{
echo '<li class="list"><strong>'.get_query_var('year').'年</strong></li>';
}
}
echo '</ul>';
}
CSS
.breadcrumb{ list-style-type:none; overflow:hidden; }
.breadcrumb li{ float:left; }
.breadcrumb .list:before{ content:">"; margin:0 5px; }
使用した関数
| is_date() | 日付別のアーカイブページが表示されているかチェック |
|---|---|
| is_day() | 日別のアーカイブページが表示されているかチェック |
| is_month() | 月別のアーカイブページが表示されているかチェック |
| is_year() | 年別のアーカイブページが表示されているかチェック |
| get_day_link() | 特定の日別アーカイブページへのURLをPHPの値として返す |
| get_month_link() | 特定の月別アーカイブページへのURLをPHPの値として返す |
| get_year_link() | 特定の年別アーカイブページへのURLをPHPの値として返す |
| get_query_var() | 投稿検索に関連する変数の値を取得 |
【更新履歴】
- 2014年07月11日 パーマリンクがディフォルトだと年月日が取得できない!を追加
【参考Webサイト】
コメント(0件)
パンくずリストをプラグインを使わずに作る:日付編に対するご意見、ご感想、情報提供など皆様からのコメントをお待ちしております。 お気軽にコメントしてください。
コメントフォーム