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件)
パンくずリストをプラグインを使わずに作る:日付編に対するご意見、ご感想、情報提供など皆様からのコメントをお待ちしております。 お気軽にコメントしてください。
コメントフォーム