2009年3月02日の投稿

2009-03-02

ポップアップ式ページ遷移メニューの間引き

ゆりこ による 00:34:49 の投稿
カテゴリー: WordPressハック
タグ: , ,

Ktai Style の附属テンプレートでは、各種アーカイブ (月別/カテゴリー別/タグ別など) では、分割されたページに簡単に遷移できるよう、ポップアップ式 (プルダウン式) メニューを装備しています。これは ks_posts_nav_dropdown() テンプレートで実現しています。本当は最新記事でも表示させたいですが、全ページが100ページとかあると、100ページ分のメニューが入ってしまって選ぶのが煩雑であり、HTML が数KBに渡るためパケット料金も嵩むという問題があるため、やっていません。

しかし、ふと、phpMyAdmin のように、ページ数表示を間引きすればいいのではないかと思いました。phpMyAdmin もポップアップ式のページ遷移メニューがありますが、数が多い場合は適宜間引きされています。前後 ±1, ±2, ±3, ±4, ±5, ±10, ±20, ±50, ±100, ±200, ±500, ±1000,… だけに絞れば、もし1500ページあっても、最大25個で済みます。これならば、携帯電話でも選べるでしょう。

間引きしたメニュー

試しに実装してみたところ、全741 ページある Yuriko.Net 旅行記でも実用になりそうですね。24ページでメニューを出すと、1, 4, 14, 19,…, 29, 34, 44, 74, 124, 224, 524, 741 となって、いい感じです。複数ページへのリンクを並べる形式のナビゲーションメニュー (*)は、携帯電話ではすべてのリンクがカーソル移動の対象になるため、選択が面倒です。ポップアップ式のメニューであれば、メニューを開かない限りメニュー自体をスキップできるので、携帯電話では使いやすいインターフェースなのです。Ktai Style の次のバージョンではこれを実装してみる予定です。

(*) いちおう、こういう形式のメニューもテンプレートタグ ks_posts_nav_multi() として準備していますが、附属テンプレートでは使っていません。