昨年末に MediaWiki の記事を WordPress に移動させ、「プログラミング」ページを作成しました。このページにはプログラミング関連のタグを API や言語ごとに表示しています。結構な数の記事を移行したのでページ数が非常に多くなってしまいました。これを元々のテンプレートでタグを一覧表示すると、1ページあたり 10記事までの表示となり、サムネイルもないのに高さをとり非常に冗長となってしまいます。
これをなんとかしたいと思い、特定のタグをリスト表示する際は、別のテンプレートを使用してシンプルなリスト表示になるよう変更しました。
作業内容
プログラミング カテゴリーページはサムネイルもないので、一覧ページはリスト タグ <li> で表示するようにし、1ページあたりの表示件数を 100件と多めに設定しました。
テンプレート内で表示件数を個別に指定するには、query_posts($query_string.'&posts_per_page=50') と関数内で per_page に表示したい記事の件数を指定します。
また、プログラミング ページに表示されているタグ一覧のリンクをクリックした時だけシンプルなリスト表示にしたかったので、tag.php 内で以下のように記述しました。
<?php // tag.php のカスタマイズ // 特定タグ(プログラミング関連)の場合テンプレートを変更して一覧表示をカスタマイズ if (! is_tag(array(タグIDの配列))) : get_template_part( 'archive' ); //デフォルト アーカイブ テンプレート else : ?> <?php //リスト表示するための設定 ?> <?php endif; ?>
現状では対象タグの ID をテンプレート内にハードコードしているところが非効率的です。
最後に、投稿ページに表示されるタグ クラウドにすべてのタグを記述する冗長になるので function.php 内で個別にIDを指定してプログラミング API 関連のタグは除外しました。これも個別に ID をハードコードしているので非効率的です。
プラグイン
関連して以下のプラグインを追加しました。
- Multi-column Tag Map
ページ内にショートコードを記述すると、特定カテゴリーのページが持つタグを列挙するリンクを生成してくれる。プログラミング ページで使用。若干プラグイン内の CSS を修正した。 - Show Current Template
プロフィール設定でツールバーを表示すると、現在使用しているテンプレート ファイルが分かるというもの。作業に便利。 - Replace Protected Password
今回の本質とは関係ないけど、プログラム関連はパスワードで保護したページがあるので、一括同じパスワードに更新できるようプラグインを追加。 - WP Live Preview Links
リンク上にマウス オーバーするとリンク先ががプレビュー表示される。公式プラグインで見つからなかったので保留。
課題
一覧表示はしたものの、記事の公開日付順なので、タイトル順とか記事の最新版の順とかカスタマイズして目的の記事がより見つけやすくなるようにできれば理想です。
複数タグで絞り込みができると理想です。