WordPress 2.3.2 日本語版へアップグレードして、プラグイン無しの標準機能でタグが使えるようになった訳だが、どうにも WordPress 標準のタグ機能が貧弱なので、Simple Tags 1.2.4 と言うタグ管理プラグインをインストールしました。
この記事の目次 非表示
私が欲しかった機能
- タグ入力補完 ( オートコンプリートって言うのかな? ) したい。
- タグ入力時にタグ一覧が見たい。
私が欲しかった機能は、上の二つだったので Simple Tags プラグインをインストールするだけで実現したんですが、折角プラグインをインストールしたので他の機能も試してみる事に…。
テーマファイルの編集
テーマファイルを編集せずに関連記事を表示する手順
- WordPress 管理画面から [ タグ ] – [ 設定 ] – [ 関連投稿 ] をクリック。
- [ 投稿内に関連投稿を自動的に表示する ] で [ Singleonly ( 単一表示時のみ表示 ) ] を選択。
- [ 設定を更新する ] をクリック。
もし、テーマを編集して設置する場合は…
<?php st_related_posts(); ?>
をテーマファイルに記述して、各設定は管理画面でやるのが良さげ。
タグクラウドを表示する
テーマファイルの中のタグクラウドを表示したい部分に、
<?php st_tag_cloud(); ?>
と書いておきます。
フォントサイズなどの各種設定は管理画面からできて便利。
長い パラメーター を直接書かないで済みます。
バグらしき物
日本語タグのスラッグ問題
問題の再現方法
- 投稿画面で新しい日本語タグを付けて記事を保存。
- 新しく作った日本語タグのスラッグを編集する。
- [ おすすめタグ ] 機能で、スラッグ編集済みの日本語タグボタンをクリックすると、先ほど編集したスラッグとは違うスラッグで登録される。
良く解らんが、Simple Tags 1.2.4 プラグインの [ おすすめタグ ] 機能で、既存のスラッグ編集済みの日本語タグボタンをクリックすると、違うスラッグで登録されて別タグ扱いになりますよ。と言った所かなぁ。
日本語のタグを使う場合でも、スラッグ名を変更しなければ問題ないみたい。
上記のバグ対策として Advanced Tag Entry をインストールした
上記のバグ ( 日本語タグのスラッグが変わる問題 ) 対策として Advanced Tag Entry 1.02 をインストールした。プラグインを解凍して下の二つのファイルをプラグインフォルダにインストール。
- advtagentry.php
- advtagentry-ja.mo
ただし、このプラグインをインストールすると投稿画面のタグ欄がスラッグ名表示になってしまう。タグの整理が済んだらプラグインを無効化しておこう。
これによって、未使用タグの削除・既存タグの編集には Advanced Tag Entry プラグイン、タグの統合には Simple Tags プラグインと言うややこしいタグ管理になりました。速くバグが直らないかなー。
Simple Tags 1.3 + 日本語環境での管理画面がおかしい
最初は Simple Tags 1.3 をインストールしたんだが、なんか挙動がおかしい。
WordPress 管理画面から [ タグ ] – [ 設定 ] – [ 管理 ] なんかをクリックしても設定画面が出てこない。
URL のアンカーリンクが日本語になっているのが原因っぽいんだが、ちょうど Firefox を使ってたので CSS をオフにして設定箇所を表示後なんとか設定。
その後、設定を変更する度に CSS をオフにするのが面倒になってきたので、Simple Tags 1.3 から Simple Tags 1.2.4 にダウングレードした。
確認したい事とかわかった事
- タグの入力補完は既存のタグ名に限って動作する。スラッグ名では動作しない。当たり前だが…。
- タグ名が同じでもスラッグ名が違うと別のタグとして認識されるみたい。と言う事はスラッグの名前が同じなら、違うタグ名でも大丈夫って事?
- タグのスラッグ名を素早く確認するには、Simple Tags 管理画面の左側にあるタグリストの数字の部分にカーソルを乗せるとリンク先がステータスバーに表示されるので、そこで確認。
- [ インターネット ] と言うタグを [ Internet ] にリネームしたんだが、反映されない。
参考にさせてもらったページ
- WordPress タグ管理はじめました – Numb.
- power source* » WP plugin: タグ付け補助・タグ管理(スラッグ編集問題もクリア) – Advanced Tag Entry
ありがとうございます。