最近このブログの記事もだいぶたまってきました。
WordPressで記事を書いていて記事数が増えてくると、カテゴリやタグの数も、それなりに増えてきてだんだんわけがわからなくなってきます。そうなってくると、記事を書いてカテゴリを選択するときに鶏頭の僕は「あれ?どんなカテゴリがあったっけ?」なんてことになってしまいます。
タグの場合は、さらに数が多くなるので「この記事に適したタグは何があったっけ?…他にもあったかな?」なんてことになってしまいます。
WordPressには一応、カテゴリ&タグ選択を支援する機能はあるのですが、それも全て表示されるわけではないので万全ではありません。
そんな時に、「カテゴリとタグの一覧があればなぁ」なんて思ったので、一覧を取得する方法を調べてみました。
photo by Eric Martin
目次
カテゴリの一覧取得方法
カテゴリの一覧を取得する方法として
wp_list_categories()
なんて方法もあるのですが、これだと余白やリンク情報がついた決まった形でリスト化されてしまうので次のような方法でテキストの一覧を取得する方法にしてみました。
<?php //カテゴリ一覧の書き出し if ( is_user_logged_in() ) { //ログインユーザー(管理者)にしか見えないようにする $categories = get_terms( "category", "fields=all&get=all" ); foreach($categories as $value){ echo $value->name."<br />"; //カテゴリ名の書き出し } }; ?>
これをWordpress「footer.php」内の</body>タグ直前にでも貼り付けて、ブログを表示させます。
すると以下のように、フッター下にログインユーザーのみにだけ、カテゴリ一覧が表示されます。
後は、一覧をコピーして保存しておいてあとで一覧表を作ります。「footer.php」に貼り付けたコードは削除するか、再利用したい場合は、//か、/* */でコメントアウトしておけば良いでしょう。
タグの一覧取得方法
タグ一覧の取得方法も基本的にはカテゴリのものとほとんど同じです。
次のようなコードになります。
<?php //タグ一覧の書き出し if ( is_user_logged_in() ) { //ログインユーザー(管理者)にしか見えないようにする $tags = get_terms('post_tag', 'hide_empty=0'); foreach($tags as $value){ echo $value->name."<br />"; //タグ名の書き出し } }; ?>
これもWordpress「footer.php」内の</body>タグ直前にでも貼り付けて、ブログを表示させます。
すると以下のように、フッター下にログインユーザーのみにだけ、タグ一覧が表示されます。
後は、一覧をコピーして保存しておいてあとで一覧表を作ります。「footer.php」に貼り付けたコードは削除するか、再利用したい場合は、//か、/* */でコメントアウトしておけば良いでしょう。
表計算ソフトなどで、一覧表の作成
後は表計算ソフトなどに先程保存したリストを貼り付けて一覧表を作成します。
表計算ソフトは、エクセルなどでも良いのですが、クラウド上に置いておいて、どんなデバイスからでも参照出来るように僕の場合は、Googleドライブのスプレッドシートに作成しました。
Googleスプレッドシートに一覧表の作成といっても、やり方は簡単で先程コピーして保存しておいたカテゴリリストとタグリストをシートに貼り付けるだけです。
あとは余裕があれば、メニューの「データ→範囲の並べ替え」などでリストを五十音順に並び替えれば、どんなカテゴリとタグがあるか一目瞭然の一覧表が作成されます。
印刷用に編集してプリンターで出力して、壁にでも貼っておけば、なお作業効率も良くなるでしょう。カテゴリが追加されれば、その都度書き込んでいけばいいと思います。
まとめ
この一覧表を作成したことで、カテゴリやタグを選択し忘れて、後から再び記事の設定を再編集なんてことをすることは少なくなりました。
これまでは、新しいタグを作ったとしても次の瞬間は忘れてしまって、使ってないタグなんかも結構あったので、そういったタグも一覧リストで探せるようになり楽になりました。もっと早く作っておけば良かったです。
というか、Wordpress達人は、もっと計画的にカテゴリとかタグの管理をしているんだろうと思います。
※Wordpressテーマを直接編集するのは、あまり良い作法とはいえません。何かプラグインとかで一覧を簡単に取得する方法とか人間工学的にタグの入力漏れをなくすものってないのかな。