2014年07月05日(Sat)
パンくずリストをプラグインを使わずに作る:日付編
テストとして日付用のパンくずリストを作ってみました。
2ページ目以降は、ページ数も表示される仕様です。
パーマリンクがディフォルトだと年月日が取得できない!
原因は分かりませんが、パーマリンクがデフォルトになっている状態で「get_query_var()」を使用しても、年月日が取得できず0年0月0日のようになってしまう事に気づきました。 現段階で、対処法としてはパーマリンクでディフォルト以外を選択する方法しか分かりません…
パンくずリストの表示
コードとCSSは以下の通りです。
CODE
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | //日付のアーカイブが表示されているかチェック 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
1 2 3 | .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件)
パンくずリストをプラグインを使わずに作る:日付編に対するご意見、ご感想、情報提供など皆様からのコメントをお待ちしております。 お気軽にコメントしてください。
コメントフォーム