カテゴリーや投稿タグ、カスタムタクソノミーの使い勝手を、どどーーーーーーんと向上させてしまうプラグインPS Taxonomy Expanderを公開しちゃいます。
このプラグインは、単一機能ではなく、カテゴリーなどのタクソノミー全般に対し、実運用時のユーザビリティーを向上させる複数の機能から成り立っています。
機能一覧
1.カテゴリー・階層化タクソノミーの登録方式を変更可能に
カテゴリーや階層化を有効にしたタクソノミーの選択方式を、タクソノミー毎に、複数選択(チェックボックス)または、単一選択(ラジオボタン)から選べるようにします。
サイトの構造や見栄えなどによっては、複数のカテゴリーを選択されると、表示上不整合が発生するケースもありますが、そういった場合でも、ユーザーの運用に頼るのではなく、タクソノミーの選択方式自体をラジオボタンに変更し、ヒューマンエラーを軽減させます。
2.タクソノミーのデフォルト設定
カテゴリー以外のタクソノミーについて、デフォルトの分類を設定可能にします。
WordPressのカスタムタクソノミーにデフォルトを設定してみると同等の機能ですが、プラグイン版ではメディアのタクソノミーについてもデフォルトの設定が可能になっています。
3.メディアのカテゴライズ
メディアに対し、タクソノミーを指定した場合のユーザビリティーを向上させます。
メディアのみに登録され、なおかつ管理画面が有効になっているタクソノミーのメニュー表示。
メディア編集画面でのタクソノミー登録方法の改善。
メディアのカテゴライズ(前編)、メディアのカテゴライズ(後編)と同等機能ですが、プラグイン版では、単一登録方法の反映(ラジオボタンでの登録)が追加されています。
4.現在の表示へのカスタム分類追加
プロフィールページの設定に「現在の状況にタクソノミーを追加」が追加され、有効にするとダッシュボードの現在の表示にカスタム分類を追加表示します。
5.分類の順序指定
Term orderメニューにて、カテゴリーなど階層化された分類の順序をドラッグアンドドロップで指定することが出来るようになります。
6.記事一覧へのカスタム分類表示追加
投稿、固定ページ、カスタム投稿の一覧にカスタム分類での絞り込み機能、カスタム分類の表示を追加します。
設定方法など
プラグインを有効化すると、設定 > 投稿設定 のページに、各投稿タイプ×タクソノミーのデフォルト分類のプルダウンと、タクソノミー登録方法のチェックボックスが表示されるようになります。
初期設定を行いたいタクソノミーのみプルダウンから分類を選択してください。
タクソノミー登録方法は、ラジオボタンで選択させるタクソノミーにチェックを入れて変更を保存してください。
記事一覧にカスタム分類を表示するには、(投稿タイプ名)一覧に表示のカスタム分類にチェックを入れます。
※ 階層化されていない分類ではプルダウンの絞り込みは表示されません。これはWordPress本体が投稿タグでのプルダウンを表示しない仕様に基づいています。
プロフィールページに「現在の状況にタクソノミーを追加」が追加されますので、表示を行う場合はチェックを入れて保存してください。
順序の変更はTerm orderメニューから行います。
- Term orderメニューをクリックしてTerm orderパネルを表示
- カテゴリー以外の場合は、表示される分類名のタブをクリックして分類を選択
- 子の分類の順序を変更する場合は、親となる分類を選択して階層を移動
- 分類名をドラッグして順序を変更。「変更を保存」で変更を確定
表示に反映させる場合は、wp_list_categoriesなどのorderbyパラメータをorderと指定します。
指定例
<?php wp_list_categories( 'title_li=&taxonomy=area&orderby=order' ); ?>
ダウンロード
参考
更新履歴
- 2011.08.04 ver. 1.1.3
- Warning エラーの修正
- 2011.08.04 ver. 1.1.2
- 記事一覧でのカスタム分類絞り込み・表示機能を追加
- 2011.07.26 ver. 1.1.1
- カテゴリー等階層化分類の順序指定機能を追加
- 2011.06.24 ver. 1.0.1
- メディアタクソノミーがギャラリーで編集・保存できない問題を修正
- 2011.05.03 ver. 1.0.0
- 現在の状況へのカスタム分類表示機能追加
- 国際化対応
- Notice、Warning エラーの修正
- 単数形・複数形表示の修正
- 2011.04.28 ver. 0.8.0
- 一般公開
国際化して、久しぶりに公式ディレクトリにでも登録してみようかなあ。。
[追記]
2011.05.03 公式ディレクトリに追加しました。
こんにちは。
WordPressをデバッグモードで稼働すると、「投稿一覧」と「カスタム投稿一覧」にてNoticeが表示されます。
「Notice: Undefined index: inline-edit-post in .\wordpress\wp-includes\class.wp-scripts.php on line 158」
「Notice: Trying to get property of non-object in .\wordpress\wp-includes\class.wp-scripts.php on line 158」
実害は今のところないのですが、お時間ある時にでもご確認よろしくお願い致します。
朱桜花鈴さん
本日、1.1.6へのアップデートを行いました。これで解消されるか、お時間あるときに確認してみてください。
1.1.6にバージョンアップしたら、Noticeが消えたのを確認致しました。
お忙しい中、対応頂き本当にありがとうございました!
はじめまして。
投稿一覧などにカスタムタクソノミーが表示できたりソートできたりするのが、便利そうで導入しようかと思ったのですが、デバッグモードにしていると管理画面に下記の警告が表示されます。
プログラムのことがよくわからないのですが、この警告は無視できるレベルのものでしょうか。WPのバージョンは3.1.4です。
よろしくお願いします。
Warning: Call-time pass-by-reference has been deprecated – argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in ………/wp-content/plugins/ps-taxonomy-expander/ps-taxonomy-expander.php on line 414
度々失礼致します。
現在構築中のサイトで使わせていただいているのですが、とても使い勝手が良いのでなんとかこのまま行きたいと思っています。
ただ、一覧画面でフィルタリングをかけた際に、左のサイドメニューが消えてしまいます。
主要ブラウザで全部だめだったのですが、WPのバージョンによるものでしょうか?
WPのバージョンを上げたいところですが、クライアントのサーバーの制約で3.1.4以上に上げることができないので、もし単純なバグであれば治らないかなと思いご連絡させていただきました。
よろしくお願いします。
kanさん、ありがとうございます。
本件ですが、当方環境にては再現せず原因もわかりかねるため対応ができません。
お手数ですが、プラグインとの組み合わせなど、ご確認いただき原因の切り分けをおこなってみてください。
お返事ありがとうございます。
そうなんですね。警告文の中にこちらのプラグインのファイルだけでていたので、他のプラグインとの組合せなど考えもしてなかったです。
あとで確認して原因が分かりましたらご報告させていただきます。
お忙しい中ありがとうございました。
プラグインの組合せで一番怪しいのはCustom Post Type UIなのですが、これを停止すると肝心の投稿一覧画面が表示できず、分かりませんでした。
警告文はCustom Post Type UIを含め、他のすべてのプラグインを停止しても出たままでした。
警告文は、「あまりお勧めではないけれどもphp.iniの設定をいじればいいよ」みたいな文章だと思ったのですが、クライアントのサーバーがphp.iniを編集できなかったので、.htaccessに
php_flag allow_call_time_pass_reference On
を追記したら、とりあえず警告表示は消えました。
すると、今度は投稿一覧でフィルタリングをした際に、サイドメニューの位置に
Warning: Invalid argument supplied for foreach() in /var/www/……../httpdocs/wp/wp-admin/menu-header.php on line 41
という別の警告文が表示されるようになりました。
ここまでくるとちょっと私には手が付けられないので、もうクライアントにフィルタリングは使わない方向で話をするしかないかな、と思っています。
一覧にタクソノミーが表示されていたり、デフォルト値が設定できるだけでも価値ありますので。
ありがとうございました。
度々すみません。
解決しました。。
原因はカスタムタクソノミーにmenuという単語を使っていたことでした。
下記ページに答えがありました。
http://wordpress.org/support/topic/plugin-custom-post-type-ui-was-working-great-now-it-breaks-built-in-post-types
TAKE NOTE — you can’t have a custom taxonomy named “menu”.
カスタムタクソノミーに”menu”は使うな、と。
ちなみに予約語には入ってなさそうでした。
http://codex.wordpress.org/Function_Reference/register_taxonomy
お騒がせしましたが、これでこのプラグインの機能を全部使わせていただけそうです。
ありがとうございました。