カテゴリーを制限するプラグイン(自作)
カテゴリー: WordPressプラグイン
最終更新日: 2018-03-15
投稿日: 2008-09-24
ユーザー毎に投稿できるカテゴリーを制限するプラグインです。
ユーザーが誤って別のカテゴリーに投稿しないように制限させます。
慣れていないユーザーが間違って別のカテゴリーに登録したりする事が無いように初めからカテゴリーを限定していれば楽ではないか、と。
具体的なイメージとしては、スタッフブログ。
従業員Aは従業員Aのカテゴリーにしか投稿できないようにします。
機能
- ユーザー毎に許可するカテゴリーを選択できます(複数選択可)。
- 記事作成、編集中は指定されたカテゴリーのみでの投稿になります。
- 「クイック投稿」「クイック編集」にも対応しています。
- カテゴリーの階層表示を維持する機能を付加しています。(選択されたカテゴリーが上に来ないようにする)
- 投稿時にカテゴリーを設定していない(チェックしていない)場合は、制限されているカテゴリーからデフォルトのカテゴリーを設定します。
スクリーンショット
ダウンロード
以下からダウンロードします。
DownLoad
インストール
- zipファイルをダウンロードします
- zipファイルを展開後、フォルダごとプラグインフォルダに入れます。
- プラグインの管理画面から「Category Limitation」を有効化します。
使用方法
- 「設定」メニューから「Category Limitation」を選択します。
- ユーザー毎に許可するカテゴリにチェックを入れます。
- チェックを全て外すと全てのカテゴリを表示させます。←これが初期設定です
- 「カテゴリーの階層表示を維持する」を「はい」にしておくと、常にカテゴリーの階層を維持します(チェックを入れたカテゴリーが上に来ません)。
- 「変更を保存」をクリックして設定を保存します。
- 以降、記事作成、編集中は許可されたカテゴリのみ表示されます。
カスタム投稿をご利用の方へ
カスタム投稿を利用している場合、カスタム投稿のカテゴリーまで制限が及んでしまい、上手く設定が出来なくなるそうです。その場合は、以下のようにファイルを変更すればカスタム投稿のカテゴリーも設定画面で設定できるようなのでお試しください。(情報提供:邑里様)
wp-category-limitation.php 324行目:
$categories = (array) get_terms(‘category’, array(‘get’ => ‘all’));
↓
$categories = (array) get_terms(array(‘category’,’自分が設定したカスタムタクソノミー名’), array(‘get’ => ‘all’));
上記作業を行った際、設定画面で不具合が発生した場合は以下のように変更すると大丈夫との事です。(情報提供:Fuei様)
wp-category-limitation.php 81行目:
if($obj[0]->taxonomy === ‘category’) {
↓
if($obj[0]->taxonomy === ‘category’ || $obj[0]->taxonomy === ‘自分が設定したカスタムタクソノミー名’) {
その他注意事項
何かしらのトラブルが発生しても当社が責任を負うことは一切ありませんので、使用する場合は自己責任でお願いします。
更新履歴
2014-12-05 追記:
プログラム上のエラーを修正(全角によるエラー) ※コメントしてくれた方からの情報提供です (ver 2.3.3)
2014-11-14 追記:
一部条件における不具合の修正 ※コメントしてくれた方からの情報提供です (ver 2.3.2)
2011-11-08 追記:
バグフィックス(Noticeエラーの解消) (ver 2.3.1)
2011-07-25 追記 :
ver2.3公開。チェックしたカテゴリーからデフォルトのカテゴリーを選択する事が可能となりました。チェックが一つだけの場合はそれがデフォルトとなります。
また、プラグインの削除時には保存したオプション値も一緒に削除するように対応しました。
2011-07-20 追記 :
記事の投稿時にカテゴリーにチェックが入っていない時、制限されているカテゴリーをデフォルトにする機能を追加。(複数のカテゴリーがある場合は取得した最初のカテゴリーがデフォルトになります)
2011-05-26 追記:
設定画面で「Warning」レベルのエラーが発生していたバグを修正(Ver 2.1)
2011-05-25 追記:
ver 2.0 リリース!
プログラムを根本からやり変えました。それにより「クイック編集」にも対応しております。
詳しい内容はコチラのアナウンスをご覧下さい。
2011-03-01 追記:
WP3.1に対応 (ver 1.1)
2010-08-31 追記:
無駄なユーザーレベルのチェック箇所を削除(コメントアウト)しました。
2010-06-18 追記:
WordPress 3.0 に対応しました。もし不具合があればご連絡下さい。
2010-02-16 追記:
当プラグインを有効にすると一部で「Fatal error」が発生していました。
そのせいで他のプラグインに影響が出ていたみたいです。
修正しましたので、新たにダウンロードして差し替えてください。
2009-09-09 追記:
記事のコメント記入でエラーが発生した場合に、画面が表示されない(白紙になる)不具合を見つけました!
変更したものをアップロードしたので、もし使用されている方がいましたら早急に差し替えてください。
ご迷惑をお掛けします…。
追記:
WordPress 2.7以降だと「クイック投稿」という項目があるのでそこで投稿されるとプラグインの効果がありません(デフォルトのカテゴリに登録されるみたいです)。現時点では対応する時間がありませんので、バージョン2.6まででご使用ください。
2009-08-24 追記:
一応対応してみました。
対応と言いましてもスタイルシートで見えなくするだけですが(汗)…。
保存の時にハックしてどうのこうのと出来れば一番良いのですが、残念ながら私にそれだけの能力が無いので、「クイック投稿」をスタイルシートで消す方法を採っています。
「Categoly Limitaion」の設定画面を開いたら、
『クイック投稿』を強制的に隠しますか?という項目があります。
「はい」を選択して保存した場合は「非表示にする要素:」に入力されているオブジェクトのCSSが「display: none;」となります。デフォルトで入力されているオブジェクトは「クイック投稿」「クイック編集」の要素です。
他に隠しておきたい要素があればカンマ区切りで追加すれば良いかと思います。追加する場合はjQueryでのオブジェクト指定方法に従ってください。
まぁ見えなければ使われる事も無いという逃げ道ですが、誤動作は確実に減ると思います。
- タグ
- WordPress備忘録, カテゴリー, プラグイン, 制限
- トラックバックURL
-
2009/5/6 水曜日 03:37:38
-
2009/8/18 火曜日 15:14:42
-
2010/4/1 木曜日 17:26:47
-
2010/9/6 月曜日 18:56:51
-
2010/9/18 土曜日 18:22:01
-
2010/11/10 水曜日 16:34:05
-
2010/12/4 土曜日 12:55:57
-
2011/6/1 水曜日 10:01:00
-
2011/6/30 木曜日 16:34:57
-
2011/8/11 木曜日 06:52:46
-
2011/9/5 月曜日 13:42:13
2009/8/21 金曜日 13:07:42
初めまして、こんにちは。
こちらのサイトでは、wordpressでサイトを構築する際ためになる情報をたくさん公開してくださっているので、いつも勉強させていただいています。
ところで、今回こちらの『Category Limitation』を使わせて頂こうと思っているのですが、
プラグインを有効化し、設定のリストに「Category Limitation」の文字は表示されているのですが、そこをクリックしても設定画面が表示されません。
どういった不具合が考えられるでしょうか…。ちなみに、現在併用しているプラグインを全て外し、Category Limitationを単独で使用した場合も、設定画面が表示されませんでした。
当方ではWordpress 2.7.1を使用しています。
バージョン2.7以降の場合、クイック投稿ではカテゴリーが無効になる旨は書かれていますが、通常の投稿の場合でも2.7以上では使えないのでしょうか?
お手数をおかけしますが、ご回答いただけると嬉しいです。
2009/8/21 金曜日 13:37:33
>mi_325さん
拙作をお使いいただきありがとうございます!
現在、私共のWordPressのバージョンは最新の2.8.4ですが、問題なく使えています。
考えられる要因としては権限が無いのではないかと思いますがどうでしょうか?
例えばadminの管理者で行なった場合はどうでしょうか?
(もしエラーが発生していない場合)唯一引っ掛かりそうだと思うのはそこの部分なのですが…。
(user_levelが上位でないとそのまま処理を終了しています)
また、逆にユーザーに「admin」しかいない場合も何もしません。というのもユーザーの取得で「admin」を省いているからです。
admin以外にユーザーはいるでしょうか?
それでもダメな場合は…(^-^; どうしましょう?
2009/8/21 金曜日 15:13:21
早速のご回答ありがとうございます!
>>user_levelが上位でないとそのまま処理を終了しています
とのことで、試しに、現状、管理者権限のadminの他、作成者権限のユーザーが9名設定されていたものを、
すべて管理者権限に変更して設定画面を見てみたところ、『Category Limitation』の設定画面が表示されました!
また、無事に設定画面が表示されるようになってから再度ユーザー権限の変更を行いましたが(作成者に戻しました)、普通に設定画面が表示されています。
これで無事に、貴プラグインを導入できそうです。
素晴らしいプラグインとご助言、ありがとうございました!
2009/8/21 金曜日 15:24:51
>mi_325さん
無事解決できたみたいで良かったです。
ただ少し気になったのですが、わざわざ全員を管理者権限にする必要はなく、(例えば)adminでログインして各ユーザーの変更をすれば大丈夫のはずです。(要するに変更を行なうユーザーが管理者権限であれば設定対象のユーザーがどの権限であろうと関係ないという事です。←少し分かり難いですね)
今度、機会があれば試してみてください。
これからも宜しくお願いします。
2009/8/21 金曜日 16:01:08
重ねてのご返答ありがとうございます。
>>adminでログインして各ユーザーの変更をすれば大丈夫のはず
とのことなのですが、プラグインの追加、設定や変更は常時adminでログインした状態、管理者権限で行っていました。が、設定画面は表示されませんでした…。
当方のwordpressに何か他に問題があるのかもしれません…が、今回はひとまず上記方法で解決したので良かったです。
本当にありがとうございました!
2009/8/21 金曜日 16:14:41
>mi_325さん
そうでしたか…また新たな謎ですね。
もしかしたら当方で出力する際、変にこねくり回しているのかもしれませんし、なにぶん結構前の事ですので記憶が…。
今度、クイック投稿の箇所をCSSで強制的に消すように変更しようかと思っていますので、その時に見直してみます。
では。
2009/8/26 水曜日 12:36:41
はじめまして、こんにちは。
いつも、勉強がてらちょくちょく来させてもらってます。
ところで、Category Limitationなんですが、思うように動いてはいるんですが、設定画面で
Warning: implode() [function.implode]: Bad arguments. in /xxxx/wp/wp-content/plugins/category-limitation/wp-category-limitation.php on line 381
という、Warningが出てしまいます。動作に支障はないようなんですが、消すための何か方法はあるでしょうか?当方、WP2.7.1を使っています。
よろしくお願いします。
2009/8/26 水曜日 13:20:57
>komaruさん
わざわざご報告ありがとうございます!
恐らく「implode()」というPHP関数を利用する際に引数が正しくないので出てくるエラーだと思います。
先程、修正してみたのをアップロードしてみました。恐らくこれでエラーは無くなると思います。
お手数ですが、再度ダウンロードして使用してみていただけますか?
もし他にエラーや不具合が発生した場合はお知らせ下さい。
2009/8/26 水曜日 17:48:36
うわー、ありがとうございます。
こんなに早く対応していただけるとは思いませんでした。早速試したところエラーは出ませんでした。
本当にありがとうございました。
2009/8/27 木曜日 09:56:58
>komaruさん
こちらこそご報告いただき、ありがとうございます。
今後とも宜しくお願いします。
2009/9/13 日曜日 08:49:45
よく訪問させて頂いています☆
素敵なプラグインをありがとうございます!
快適に利用させて頂いてます!!
お尋ねなのですが先日
最新版の2.8.4にVerアップしたところ
プラグインを有効にすると以下のような
エラーが出てしまい使う事ができません…
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /xx/wp-content/plugins/category-limitation/wp-category-limitation.php on line 37
お忙しい中大変恐縮ですが
お手隙の時にでもご指導頂ければと思います。
よろしくお願い致します!
2009/9/14 月曜日 08:39:24
>Jelaさん
わざわざご報告ありがとうございます。
困りました、そのエラーは初めてです…。
ちなみにそのエラーですが、WordPressのバージョンが2.8.4以前だと出なかったのでしょうか?
あとご使用されている環境のPHPのバージョンは5以上でしょうか?
2009/9/15 火曜日 10:10:46
PHPをバージョンを5にアップしたところ解決しました!!
久しぶりだったので初歩的な事で
お手間を取らせてしまってすみません;;;;
ありがとうございました☆
2009/9/15 火曜日 10:41:13
>Jelaさん
そうですか。
無事動いたみたいで良かったです!
今後とも宜しくお願い致します。
2009/11/13 金曜日 16:00:26
ユーザーにわかりやすくしてあげたいなとおもいながら、このサイトにたどり着きました。
ダウンロードしてみたんですが、以下の errorが、、、
お手すきでよいので、
みて頂けたらありがたいです。
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /xx/wp-content/plugins/category-limitation/wp-category-limitation.php on line 37
PHPのバージョンは5以上です。
よろしく御願い致します。
2009/11/16 月曜日 17:00:29
>bipooさん
返事が遅れてしまい申し訳ありません。
申し訳ついでに、先程コメントを確認したばかりですので、まだ検証をしておりません…。すいません。
これからチェックしてみますので、今しばらくお待ちください。
2009/11/16 月曜日 17:12:57
>bipooさん
(^-^; よく見ると上の方のコメントと同じエラーみたいですね。
PHPのバージョンは5以上で合っているのでしょうか?お手数ですが、もう一度確認してみていただけませんか?
一応、色々検索してみましたが、やはり「定数(const)がPHP5以上でないと使えない」というエラーだろう、ぐらいのものしか見つからなかったもので…。
2010/1/15 金曜日 12:22:55
とても良いプラグインを公開して下さって感謝します。
思わずコメントを入れてしまいました。
これを投稿に限らずにカテゴリーの追加にも適用出来たらいいですね。
ユーザー毎に追加できるカテゴリーを制限する。
つまり制限した親カテゴリー配下にしか子供を作れない
これは実現は難しいかな?
お暇な時にご検討下さい。
2010/1/15 金曜日 16:41:10
>ポンポコさん
嬉しいお言葉、ありがとうございます!
なるほど…。
自分のカテゴリ内の下にしかカテゴリを作成できないようにする、という事ですか。意図したい事は分かります。
そういうアイデアは大歓迎です!
空き時間を見ながら可能かどうか検討しながらやってみようと思いますので、のんびりとお待ちいただけたら幸いです。
2010/1/26 火曜日 12:03:22
こんにちは。
以前、こちらのコメント欄でwordpress2.7.1での使用で不具合に付いて質問させて頂いた者です。その節は早々と御対応いただき、ありがとうございました!
その後も、少し古いwp2.6.5などでも便利に使用させてもらっています。
ところで、Category Limitationを使用している場合、カテゴリーの制限がかかっているユーザーでログインをすると、記事を作成するとき、初めから一番上のカテゴリーにチェックが入った状態になっていますが、これを外しておくことはできますか?
現在複数のユーザーに、それぞれ2~3ずつのカテゴリーを割り振って投稿しているのですが、あらかじめ入ってしまっている一番上のチェックを外し忘れることが多く…。
1ユーザー1カテゴリーに制限しているなら、あらかじめチェックが入っている方が便利だなぁと思ったりもしていますので、もし可能でしたら、スクリプトの修正部分等教えて頂けると大変ありがたいです。
お忙しい中お手数をおかけしますが、ご回答いただけると嬉しいです。
2010/1/26 火曜日 13:26:27
>mi_325さん
今も使っていただけているという事で嬉しい限りです。
さて、ご質問の件ですが、予めチェックを外す方法は簡単です。
プラグインディレクトリの中にある「wp-category-limitation.php」を開いていただき、101行目の以下の箇所、
if(ereg(“post-new.php”, $_SERVER[“PHP_SELF”]) || (count($limitid) == 1)) {
の「 || 」を「 && 」に変更すれば、限定するカテゴリが一つの時のみにチェックが入るようになります。(複数のカテゴリの場合はチェックが入りません。)
ただし一点ほど気を付けていただきたいのは、更新時(公開時)にカテゴリのチェックを忘れている場合はWordPressで設定されてあるデフォルトカテゴリに投稿されてしまいます。
「更新(公開)時にデータをハックして云々」というレベルまで私の技術が無いので、お許し下さい。
2010/1/26 火曜日 15:05:47
早々にご返答いただき、ありがとうございます。
教えて頂いた箇所を直してアップしたところ、期待通りの動作をしました!
カテゴリーが1つの時はチェック有り、複数の時はチェック無し…素晴らしいです。
本当にありがとうございました!
2010/2/10 水曜日 18:08:25
はじめましてDLさせていただきました
初期設定ですが
3.チェックを全て外すと全てのカテゴリを表示させます
チェックをつけたカテゴイーだけ制限したユーザーは投稿できると結うことでいいと思うんですが
初期の段階で
チェック入った状態にはできないんでしょうかよろしくおねがいしあmす
2010/2/11 木曜日 11:44:49
>かやまっちさん
DL、ありがとうございます!
さて、お尋ねの件ですが恐らくアクションフックを利用すれば出来そうな気がします。
が、ちょっと本業の方が忙しくてなかなか手が取れておりません。もしこちら待ちというのであればのんびりとお待ちいただければ、と思います。
※個人的には「指定されたカテゴリー内でのみ新規カテゴリーを追加できるようにする」機能の方が重要(というか需要がありそう)だと思いますので、その後になります。
すぐにご期待に沿えず申し訳ありません…。
2010/2/12 金曜日 12:00:09
早速のご返答ありがとうございます
気長にまってま~~す^^
2010/2/16 火曜日 11:47:25
「Category Limitation」の利用を検討させていただいているのですが、一つクリアできない問題が出てきましたのでご相談させていただきます。
「Custom Field Template」を使用し、いくつかのカスタムフィールドのテンプレートを設置しています。
選択カテゴリ毎にカスタムフィールドテンプレートの自動展開されるプラグインなのですが、こちらの「Category Limitation」と併用した場合、テンプレートの自動展開が働かず、選択用のドロップダウンリストも表示されません。
■wordpress2.9
■Custom Field Template1.5.7
■Category Limitation1.0
他のプラグインをOFFにしたりONにしたりして検証したところ、「Category Limitation」をONにした場合のみ再現されます。
こちら、ご検討いただけますでしょうか。
2010/2/16 火曜日 14:01:00
>ゆささん
当プラグインの使用をご検討いただき、ありがとうございます。
> 選択カテゴリ毎にカスタムフィールドテンプレートの自動展開されるプラグインなのですが、
との事ですので、その辺りでの不具合なんでしょうね。
拙作は表示される直前の(カテゴリ)データを書き換えているので、その時点で「Custom Field Template」の書いたデータを消しているのだろうと推測します。
一応調べてみた上で、対応策があればお伝えします。ダメそうな場合は…申し訳ありません。
2010/2/16 火曜日 17:18:58
>ゆささん
調べた結果、当プラグインで一部「Fatal error」の発生している箇所がありました。
普通に動いていたのでエラーチェックを怠っていました。あぁ、お恥ずかしい!
現在、修正したものをアップロードしましたのでお手数ですが、もう一度ダウンロードして差し替えてみてください。
ご指摘ありがとうございました。
2010/2/17 水曜日 10:52:28
お忙しい中、迅速な対応ありがとうございました!
無事両方利用することができるようになりました。
また大変便利なプラグインをご提供くださり、
ありがとうございます。
2010/2/19 金曜日 09:30:57
>ゆささん
こちらこそ潜在的な不具合を修正する事ができましたので感謝しております。
お使いになって要望に沿うようでしたら、是非お使い下さい。
2010/5/18 火曜日 14:52:38
すばらしいプラグインをありがとうございます。
海外のプラグインをいくつか探したのですが、こちらはシンプルで安定しているようなので気に入っています。
(しかも国産で!)
ところで、デフォルトですべてのカテゴリに投稿可能になっていますが、逆にデフォルトで投稿ができないような設定にはできないでしょうか。
アカウントを自由に登録できるサイトにしているので、デフォルトで投稿できないほうがいいのです。
さらに未分類だけに投稿できるとか設定画面からではなく、スクリプトの書き換えで対応可能であれば教えて頂けると助かります。
よろしくお願い致します。
2010/5/18 火曜日 16:52:13
>うみおよさん
こちらこそお使いいただき有難うございます。
私は英語が苦手なので、英語で質問されないようにガッツリ日本語で書いております(汗)。
さて、ご質問の件ですが「デフォルトで投稿できなくする」というのはどこまでを言われているのか分かりませんが、「何も設定していない場合、投稿自体を出来なくする」というのでしたら、このプラグインではそれなりに改造していかないと無理かと思います。
もし「デフォルトの場合、初期カテゴリ(未分類等)のみを表示させる」というのであれば、wp-category-limitation.phpの以下の箇所を書き換えれば可能です。
■ wordpress 2.9以上の場合、469行目を変更します。
$selected_cats_str = ”;
↓
$selected_cats_str = ‘カテゴリのid(未分類カテゴリのid等)’;
■ wordpres 2.9未満の場合、517行目を変更します。
$selected_cats_str = ”;
↓
$selected_cats_str = ‘カテゴリのid(未分類カテゴリのid等)’;
例えば未分類カテゴリのidが1だったら、
$selected_cats_str = ‘1’
と書き換えれば、恐らくそのカテゴリしか表示されないはず、です…(試してないのではっきりと言えませんが多分大丈夫です)。
このプラグインの更新頻度は非常に少ないので変更されても困ることは無いと思いますよ。←自慢じゃないですが。
2010/5/18 火曜日 18:03:03
早々にご返答いただきましてありがとうございます!
説明不足ですいません^^;
ユーザーが作成された段階で、「未分類」のカテゴリのみにチェックが入っている状態が希望です。
早速試してみましたが、管理画面で未分類しか表示されなくなってしまいました。
いかがでしょうか。可能でしょうか。
お忙しいところすいません。
よろしくお願い致します。
2010/5/19 水曜日 08:49:45
>うみおよさん
(^-^; 申し訳ありません!
やっぱり何となく「こうじゃないか?」でやるとダメですね…。自分が書いたはずなのに忘れてます。
で、ちゃんと探しましたので下記のように変更してください。
wp-cagetory-limitation.phpの102行目、
if(count($limitid) > 0) {
↓
if(count($limitid) == 0) $limitid = array(1);
と変更します。(「1」にはデフォルトのカテゴリidを入れていきます。2つ以上の場合は array(1, 4, 5)とします。)
それと133行目の、
}
を削除します。
上記のように変更する事で、新規(カテゴリの限定が設定されていない)ユーザーには記事の投稿時に特定のカテゴリしか表示させないようにできます。
(o^-^o)お試し下さい。
2010/5/19 水曜日 10:10:25
素晴らしいです!
迅速な対応と技術力に感動致しました!!
もうなんとお礼を言ったらいいのか・・・
今日明日中になんとかしなくてはいけない状態だったので、本当に助かりました。
今後もご活躍&このプラグインの強化版を期待しております。
2010/5/19 水曜日 12:02:08
>うみおよさん
間に合ったみたいで良かったです。
私共の技術力は正直大した事はありません。恐らく一流プログラマーが見れば色々と改善提案が出てくるプログラムだと思いますよ。
しかし一番大事なのは「ユーザーやお客様が満足する事」だと思うので、そういう点で満足いただけたのはこちらとしても嬉しいです。
2010/7/16 金曜日 16:18:54
はじめまして。ユーザーにとってとても素晴らしいプラグイン「Category Limitation」を使用させて頂いております。いつもありがとうございます。
ISプランニング様に質問がございます。
「Category Limitation」で選択されたカテゴリー以外を投稿編集画面で選択可能になる、というようにするにはどのようにすれば良いでしょうか?
例えば、以下のように親・子カテゴリーがあったとします。
・メモ
- ・wordpress
- ・php
親カテゴリー「メモ」の子カテゴリーは任意に増えていきますので、増える毎に選択するという手間をなくしたいのです。
お時間がありましたら、ご返答頂けたら幸いです。
よろしくお願いいたします。
2010/7/16 金曜日 16:42:07
>カイさん
当プラグインをご利用いただき、ありがとうございます!
> 「Category Limitation」で選択されたカテゴリー以外を投稿編集画面で選択可能になる
というのはどういった事でしょうか?
このプラグインは選択されたカテゴリー以外を投稿編集画面で表示させない事を目的としているのですが…(^-^;
> 親カテゴリー「メモ」の子カテゴリーは任意に増えていきますので、増える毎に選択するという手間をなくしたいのです。
むむむ…。これも意味がちょっと分からないのですが、もしかして常に一つのカテゴリを選択しておきたい、という事でしょうか?
2010/7/16 金曜日 20:36:05
説明が拙くて申し訳ありませんでした。
>このプラグインは選択されたカテゴリー以外を投稿編集画面で表示させない事を目的
とは逆に、選択されたカテゴリー以外を投稿編集画面で表示させる。ということをやりたかったのです。
自分でソースを編集しようと試みたのですが、あえなく断念して、神頼みをしたしだいであります。
2010/7/19 月曜日 09:29:36
>カイさん
なるほど、逆の場合ですか。
恐らくそれは簡単だと思います。
「wp-category-limitation.php」ファイルの中の519行目の以下の箇所を変更してください。
‘include’ => $selected_cats_str
↓
‘exclude’ => $selected_cats_str
これで選択されたカテゴリ以外を表示させるはずです。(WordPress 3.0の場合)
WordPress2.9の場合は、575行目の以下の箇所を変更します。
include=$selected_cats_str
↓
exclude=$selected_cats_str
要するに「include」を「exclude」に変えれば逆の事になります。
以上、お試し下さい。
2010/7/20 火曜日 10:28:06
wordpress 3.0で試しました。
成功です!!ありがとうございました!!!
これでカテゴリーが増える度にチェックするという煩雑な作業がなくなりました。
まさか、これほど早くご対応して頂けるとは思いませんでした。ISプランニング様、本当にありがとうございました。
2010/7/26 月曜日 21:22:02
お世話になっております。
Wordpress3.0日本語環境下で、特定ユーザーに投稿者権限を与え、ログインした時に「ブログ」カテゴリーのみ表示させたいと、探し回ってやっとここにたどり着きました。
全く同じコンテンツのローカル環境(xampp)では素晴らしかったのですが、いざサーバーでプラグインを有効化しようとした時に、
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /home/cmsjapan/cmsjapan.jp/public_html/wp/wp-content/plugins/category-limitation/wp-category-limitation.php on line 42
となりました。
他のプラグインを全て無効にして一旦ログアウトしてから、異なるブラウザでログインして試しましたが同じでした。 line 42 の ” を ’ に変更して試しましたが、これもやはり。
御検討いただけますでしょうか?
宜しくお願いします。
2010/7/27 火曜日 08:07:56
>のろさん
ご使用いただき、ありがとうございます。
全く同じエラーのご報告が以前のコメントにもありましたが、恐らくそれはPHPのバージョンによるエラーだと思います。
PHPのバージョンが5である事をまずご確認いただけますか?
2010/7/27 火曜日 13:40:34
以前のコメントに同じ質問があるのに、大変失礼いたしました。
てっきり PHP4 → 5 は済ませたと思い込んでました、感謝!
それで、有効化していざ 設定 → Category Limitation と進んだら
設定を行なえる権限がありません!
管理者でログインし直してください。
と表示されてしまいました、他のユーザー設定していないのに。 他の全てのプラグインを無効化してログアウトし、ブラウザを変えてログインしても同じ、一旦削除し再アップロードしても同じでしたので、新たに「管理権限を持つユーザー」を新設してそちらから行ったらOKでした。 ・・・?
取り急ぎ御報告まで。
環境:wordpress-3.0-ja / PHP V-5.1.6 / MySQL v-5.0.77
2010/7/28 水曜日 08:31:40
>のろさん
どうやら管理者の権限で多少おかしな挙動があるみたいですね。
全員が同じ症状であれば治しやすいのですが、一部の環境となると再現が難しくてなかなか原因が掴みにくいです…。
「権限がありません」という事はuser_levelのチェックをしている箇所なので見直してみたのですが、別段外れた事はしていませんでした。
(^-^; 何かバグが潜在的に潜んでいるというのは嫌ですね。
2010/7/29 木曜日 11:55:17
WordPressで構築したブログを複数ユーザで投稿
ユーザごとに投稿できるカテゴリを限定
他のCMSでは容易に実現可能なこの仕様が
WordPressでは意外にもなかなか実現できず、困っていました
管理人様のcategory-limit はそんな状況において、本当に助けられました。
大変便利なプラグインで今では重宝しております。
ありがとうございました。
2010/7/29 木曜日 15:21:12
>b_bさん
お使いいただき、ありがとうございます。
確かに誰もが欲しがる機能だと思うのですが、なぜWordPressには無いのでしょうか?不思議ですよね。
今後ともどうぞ宜しくお願いします。
2010/8/25 水曜日 03:36:06
始めまして。
Wordpress3.0.1を先日よりカスタマイズ中です。
ユーザーが多いのでカテゴリ毎の投稿制限をしようと調べていてISプランニングさまにたどり着きました。
早速プラグインをアップしてみたのですが、設定画面で下記のエラーメッセージが表示されました。
Fatal error: Call to undefined function get_nested_categories() in /***/plugins/limitcats.php on line 233
自分で修正をかけようとプラグインを開き該当行を確認したのですが、書かれているのはhtmlソースで何がおかしいのかわかりません。
よろしければご教授お願いいたします。
2010/8/25 水曜日 08:08:32
>おのひろさん
そのエラーは「get_nested_categories()」というfunction(関数)が見つかりません、という意味です。
ですのでlimitcats.phpというファイルの中で「get_nested_categories()」を探して定義されているか、他のファイルで設定されている場合、そのファイルを読み込んでいるかを確認してください。
ちなみに、恐らくそのプラグインは私共のとは全く違うものだと思いますが…。
「get_nested_categories()」という関数は使っていませんし、そもそも「limitcats.php」というファイル名ではありません(デフォルトではwp-category-limitation.phpというファイル名のはずです)。
それとも何かしら同じような機能のものを使用されていて、関数名で衝突とかしているのでしょうか…。
2010/8/30 月曜日 15:20:02
こんにちは。便利なプラグインありがとうございます。
実は2010/7/27 投稿の、のろさんと同じ症状がでて、同じ解決策で使えるようになりましたので、ご報告します。
インストールまではエラーも出ずうまくいったのですが、adminでログインしているにもかかわらず
設定を行なえる権限がありません!
管理者でログインし直してください。
のメッセージが表示され困っておりました。
こちらの投稿を順に試して、のろさんの方法で、
既存のユーザーを管理者に変更してそのユーザーでログインしたら無事に設定画面が表示されました。
まるでwordpressで初期設定されたadminは無視されているかのような挙動です(?)。
ともかく、便利なものをありがとうございます。
使えて本当に嬉しいです。
同じように困っている(おそらく少数の)方がいたらお試しください。
wordpress var2.9.1 /php 5
2010/8/30 月曜日 16:00:01
>なまけものさん
ご利用ありがとうございます。
> まるでwordpressで初期設定されたadminは無視されているかのような挙動です(?)。
そうですか…。
何人もそういった症状が出るという事は何か問題があるのかもしれませんね。
恐らくプラグインの234行目で行っているユーザーレベルのチェックがちゃんとされていないのが一番の原因だと思います。
そもそも173行目のadd_option_pageで既にユーザーレベルを限定しているので外して良いかもしれません。(無駄な事をし過ぎてる?)
ちょっと検討させてください。
2010/8/30 月曜日 18:17:27
早々のお返事ありがとうございます。
>ユーザーレベルのチェック
と見て、はっと気付いたのですが、権限をいじっているプラグインをもう1つ使っています。
私が少数派になってしまったことと関係あるのかわかりませんが、情報を小出しにする形になってしまい申し訳ございません。
使用中のプラグイン
Hide Admin Panels
今のところ両立して使えているので
(adminは相変わらず無視されていて
設定を行なえる権限がありません!
管理者でログインし直してください。
が出ますが)
特定のユーザーのカテゴリを非表示にするという動作には特に問題はないです。
2010/8/31 火曜日 09:29:52
>なまけものさん
いえいえ、こちらこそ情報ありがとうございます。
早速そのプラグインをダウンロードしてインストールしてみたのですが、やはり再現しませんでした…。もっと細かい設定による影響でしょうか。
ただ、役に立っているとは言えない(無駄な?)箇所をコメントアウトしましたので恐らく管理者(admin)でも行えると思います。
お時間がある時でも再度ダウンロードして差し替えてみてください。
2010/8/31 火曜日 16:03:52
ISプランニング様、ありがとうございます!
差し替えてみましたところadminでも認識してくれるようになりました!
Hide Admin Panelsとも共存しております。
(もしかして当方のプラグインの使い方に間違いがあったのかとも思って、今、冷や汗です。)
本当にお礼のしようもないくらい感謝です。
今後ともよろしくお願い致します。
2010/8/31 火曜日 17:07:20
>なまけものさん
とりあえず上手くいって良かったですね。
なぜ環境によってユーザーレベルが上手く取れないのか、謎が残りますが…。
こちらこそ今後とも宜しくお願い致します。
2010/11/1 月曜日 20:27:50
はじめまして。
とても素晴らしいプラグイン「Category Limitation」を使用させて頂いております。
いつも感謝いたしております。
ISプランニング様に質問がございます。
モバイルからの投稿時、予め決められたカテゴリーに投稿される。という動作はできるのでしょうか?
ちなみにモバイルからの投稿は、「ktai_entry」プラグインを使用させていただいた降ります。
何かソース上をカスタマイズしたら可能でしょうか?
お忙しいとは思いますが、ご助言お願い致します。
2010/11/2 火曜日 08:56:03
>まさとさん
ご利用ありがとうございます。
当方はKtai_entryを利用した事が無いのでよく分からないのですが、確かモブログですよね?(Ktai_styleは使用した事があります)
だとすれば、こちらのプラグインでどうこうというのは難しいと思います。
恐らく「携帯でメール投稿」→「Ktai_entryで自動投稿」という流れだと思いますので、入り込む余地は無いかな、と。
やるのであれば「Ktai_entry」の自動投稿(更新)の箇所を改造するしかないでしょう。当プラグインの情報は「get_option(“isp_cat_limit_options”)」で取得できるのでそれで何とか…という所でしょうか。
(ただし今後のバージョンアップの事を考えてもあまりやるべきではないと思います。)
先程プラグインの正規ページを見ましたが「カテゴリー指定 (複数カテゴリーに対応) およびキーワードタグの付与が可能です。」とありますので、現状それでやってもらうしかないように思われます。
お役に立てず申し訳ありません。
2010/11/2 火曜日 10:12:06
早々のご対応感謝いたします。
なかなか難しいみたいですね。
もう少し調べてみます。
ありがとうございました。
2010/12/11 土曜日 16:54:34
以前から「Category Limitation」を便利に利用させていただいております。
とても感謝しています。
私が以前に取得したバージョンから2回ほど改修されているようですが、
ファイルの中身を確認すると最新のものもバージョンが1.0となっています。
可能でしたら、改修時にはバージョン表記も上げてくださいますと幸いに存じます。
今後とも、どうぞ宜しくお願い致します。
2010/12/13 月曜日 08:30:22
>よっちさん
大変申し訳ありません!
公式(サイト)で公開していない野良プラグインという気安さから疎かになっておりました。
確かにそれを目安にアップグレードされる場合もありますよね。
今後バージョンアップの際にはしっかりとバージョン表記を上げていきますのでどうぞ今後とも宜しくお願い致します。
2011/1/28 金曜日 00:55:33
すばらしいプラグインですね^^
ひとつ思ったのがクイック編集には便利な機能もあり、逆に不要なメニューも混在しているので、不要なメニューのみdisplay:none;を指定できればより使い勝手が向上しそうな気がします。
クイック編集内の要素にはデフォルトでは固有idや固有classやらが振られていないものがあり、jqueryから要素指定ができないので、クイック編集内の各要素にあらかじめidを振り分ける機能をつけるのはいかがでしょうか?
2011/1/28 金曜日 08:43:18
> magicさん
コメント、ありがとうございます。
クイック投稿の件は頭を悩ましています。
そもそも何故クイック投稿を非表示にするかというと、投稿した時点でデフォルトのカテゴリーに全て入ってしまうので「Category Limitation」の存在意義が無くなってしまうからなんです。
保存後にカテゴリーデータを変更できれば解決できそうですが、以前ちょっと調べたところ上手くいきそうになかったので「とりあえず非表示にしてしまえ。」という後ろ向きな解決に至ったわけです。
恐らくそれなりに解決方法はあると思うのですが、あれから全然調べていないのでいまだ未解決のままです。
という根本的な問題がありますのでご理解いただければ、と思います。
いずれ解決はしようと思ってますので、気長にお待ち下さい。
2011/1/29 土曜日 10:09:31
マルチサイトにしないで、模擬的にでもプログを何個か開設したいと思ってプラグインを探していました。「Category Limitation」が目的にぴったりです。ご提供ありがとうございます。
少し質問があります。
投稿画面のカテゴリー表示上で、Aさん向けの親子のカテゴリーの間にBさん向けのカテゴリーが割り込んで表示されたり、親子のカテゴリーが階層表示されないでフラットに表示されたりすることがあります。
親カテゴリー名が異なっても子カテゴリー名が同じ場合があるので、AとBに投稿できるCさんのときはAかBの子カテゴリーか区別が付かず困ったことになる場合があります。
利用上のコツとか、カストマイズのことで何かアドバイスがあればお願いします。
2011/1/31 月曜日 09:17:31
>typelogさん
ご利用ありがとうございます。
>投稿画面のカテゴリー表示上で、Aさん向けの親子のカテゴリーの間にBさん向けのカテゴリーが割り込んで表示されたり、親子のカテゴリーが階層表示されないでフラットに表示されたりすることがあります。
これはどういった事でしょうか?
Aさんが「A,B」カテゴリーを選択しながら「C」というカテゴリーも表示されてしまうという事でしょうか?だとすればちょっと問題ですので詳しい状態(設定内容)を教えていただきたいのですが…。
階層表示の件ですが、例えば子カテゴリーのBが既に選択されてある状態、とかでは無いのでしょうか?WordPressの投稿を見る限り、選択されたカテゴリーは親子関係に関わらず列のトップにきています。
↑こういう単純な問題ではなく、ですか?
> 親カテゴリー名が異なっても子カテゴリー名が同じ場合があるので、AとBに投稿できるCさんのときはAかBの子カテゴリーか区別が付かず困ったことになる場合があります。
これはちょっと難しいと思います…。
解決策としては親カテゴリーも選択に入れるしかありませんが、前述のように既に選択されているカテゴリーは親子関係から外れてしまいますし、間違えて親カテゴリーを選択する可能性もあります。
typelogさんの方で名前を変更する等、何らかの対処をしていただかないといけないかなぁと思います。
当プラグインが行える大原則は「投稿時に選択されたカテゴリのみを表示する」というのみです。それを踏まえた上で上手く活用していただければ幸いです。(^-^)
2011/1/31 月曜日 22:09:04
ご返事ありがとうございます。
はしょった投稿が混乱の元でした。ひょっとしたら当方のみの現象かもしれません。
少し具体的に。二つの親子カテゴリを定義しています。
カテゴリ1
A
B
C
カテゴリ2
X
Y
B
とした場合、トラさんの投稿画面へは次のように表示されています。もちろんトラさんには二つのカテゴリ親子ともども投稿を許可しています。
A
X
Y
B
B
C
カテゴリ2は階層表示されていますが、カテゴリ1はフラット表示で、カテゴリ2に割り込まれています。
どのBがどちらの親カテゴリに属するかは分かりますが。
カメさんにカテゴリ1の投稿だけを許可すると、カメさんの投稿画面のカテゴリ表示は以下のようにフラットになってしまいます。
A
B
C
こんな状況ですが、こちらの特殊事情かも知れませんので、WoedPressを再インストールしたりしてみます。
2011/2/1 火曜日 09:51:26
> typelogさん
恐らくですが、その時に「A」というカテゴリーは選択されている(チェックが入っている)のではないでしょうか?
もしそうであるなら、それはWordPressの仕様なので直らないと思います。
前述した通り、選択されたカテゴリーは親子関係に関わらず一番上に表示されるようになります。もし「A」が選択されている状態であるならば、上記のような現象になると思います。
これを直そうとしたら、WordPressの関数を変更する必要があると思います。
(確かにこの仕様は少し不便ですよね…。)
2011/2/1 火曜日 14:33:32
毎度、申し訳ありません。
確かにAをデフォルトの投稿先カテゴリーにしています。
Category Limitationの設定画面やサイドバーウィジットのカテゴリー表示ではAを先頭に二つのカテゴリーとも階層表示されているので質問した訳です。
投稿画面のカテゴリー表示は別とのご指摘、WordPressの仕掛けも分からずの質問でした。
大変ありがとうございました。
2011/2/3 木曜日 11:44:06
確かに不便というか、?なことです。
投稿画面でも、親子のあるカテゴリは親子を離れ離れにせずまとめて表示し、かつ親子の階層で表示してほしいものですね。
2011/2/3 木曜日 12:52:29
> typelogさん
出力の仕方を変えてくれると良いんですけどね。
ちなみに設定画面の方は自前で出してるから親子関係が崩れていないんだと思います(多分)。
2011/2/3 木曜日 21:28:39
ISプランニングさん自前のは親子が生き別れにもならず、きれいな階層表示ですね。
自前ではないサイドバーでは親子カテゴリーもちゃんと階層表示さています。全く、残念。もはや愚痴。
「Category Limitation」でマルチサイトにしないでもブログを何本か立てられますから、投稿ユーザーが限られる内輪のブログで便利に利用させていただきます。
2011/3/2 水曜日 02:55:00
以前コメントさせていただいた者です。
先ほどWP3.1にアップグレードしたらPHPエラーになったので飛んできました。
早速の対応バージョン公開ありがとうございます。
本当に素晴らしいプラグインだと思います。
2011/3/2 水曜日 08:06:05
>よっちさん
こちらこそ当プラグインのせいでエラーが発生してしまい、大変申し訳ありません。
これからも宜しくお願い致します。
2011/4/9 土曜日 00:13:57
初めまして。
複数の部署の人が1つのブログで投稿する際に自分の担当カテゴリーのみ投稿できるようにというのでプラグインを探していてたどり着きました。ありがとうございます。
質問なのですが2点あります。
1)ある担当(投稿者)のIDで入った時でも、Press Thisを使うと違うカテゴリーでも投稿出来てしまうようなので、それを回避する方法はないでしょうか?
2)後で決裁者が確認した上で投稿できるようにその担当者の投稿を必ず下書きで保存させるようにはできないでしょうか?
プラグイン自体の質問ではないものもあるかと思いますが、何か良い方法があればご教授ください。
よろしくお願いします。
2011/4/11 月曜日 08:55:39
>amameさん
ご利用ありがとうございます。
一つ目の質問ですが、他のプラグインとの兼ね合いになるとこちらでもちょっと対応が難しいですね。独自で色々やってる場合もあるので…。これは解決できないと思います。
2つ目ですが、これもちょっと機能外になります。
恐らくそれ用のプラグインを作成した方が早いかな?と思います。
例えば、パっと思いつく一番簡単な方法は、投稿画面の表示の時にユーザーレベルを調べて一定以下ならスタイルシートを利用して「公開」ボタンを表示させない、とか。
どちらにしろ当プラグインでは難しいです。
あくまで「投稿管理画面で選択できるカテゴリーを制限する」だけのプラグインですので…。
2011/5/24 火曜日 13:28:41
ご無沙汰していました。
「wp-category-limitation.php」というファイルの465行目、$checked_ontop = true の箇所を $checked_ontop = falseにするだけですね。
確かに投稿画面のカテゴリー階層が親子水入らずできれいに階層表示されました。
これは2月始めにISプランニングさんと応答した件ですが、ISプランニングさんのフォローの丁寧さには望外のありがたさです。
ブログの書き手にはさらに分かりやすくなりました。もう言うことはありません。便利に利用させて頂いています。
2011/5/24 火曜日 16:16:27
>typelogさん
このプラグインは力技により実現しています。
意外に需要があるので、もう少しWordPressのルールに則った書き方でないと拙いなぁと思っておりました。
この度、少し時間が空いたので色々見直していたのですが、以前ご質問された内容の解答がそのまま転がっていたので、お知らせしておこうと思いました。
(滅多にこちらを覗かないだろうと思い、直接メールさせていただきました)
近日中には、もう少しまともなバージョンがアップされると思いますので、そちらに差し替えていただければ、と思います。
2011/5/25 水曜日 11:39:02
実装したいことが簡潔にできました。最高です!ありがとうございます!
環境:WordPress 3.1.2
2011/5/25 水曜日 12:03:10
>hidelowさん
お役に立てて何よりです。
是非ご活用下さい。
2011/6/20 月曜日 09:52:48
最新版にアップデートしました。
マルチサイトにするまでもなく、これで小グループの筆者交代ブログなどに簡単、最適なブログサイトにできます。
ありがとうございました。
2011/6/20 月曜日 10:25:34
>typelog さん
こちらこそアップデート版、ご利用ありがとうございます。
私もちょっと学んで、階層表示を取り入れました。自分でも納得しております。
(実はこれが無ければもっとスッキリしたコードになるのですが(汗)…)
2011/6/20 月曜日 14:28:40
カテゴリーを設定しないで投稿すると(よくありそう)許可されていないカテゴリーに入ってしまい、「あれ?どこ行った」の対応。
「カテゴリー未設定投稿仮置」とかのカテゴリーを作って、それを投稿設定でカテゴリーの初期値にしておくと、後の編集投稿のときに分かりやすいようです。
投稿ユーザーにも納得できますね。
2011/7/2 土曜日 13:07:10
初めまして
カテゴリーを制限するプラグインを探していて
こちらにたどり着きました
とても素晴らしい機能なのでぜひ使いたいとおもっているのですが
プラグインをインストールして有効化をしたところ
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /*******/wp/wp-content/plugins/category-limitation/wp-category-limitation.php on line 41
と出て有効になりませんでした
よろしければ解決方法を教えていただけないでしょうか
wpのバージョンは3.1.4になります
よろしくお願いします
2011/7/4 月曜日 07:57:56
>wpsabuさん
恐らくPHPのバージョンが引っ掛かってるのではないでしょうか?
PHPのバージョンが5である事をご確認いただけますか?
2011/7/4 月曜日 13:35:23
PHPのバージョンが4でした。
PHPのバージョンを5に変更したら無事に有効有効化になりました
ありがとうございました。
2011/7/20 水曜日 09:44:43
> typelogさん
ver2.2よりデフォルトのカテゴリーがチェック(制限)されたカテゴリーになるように変更しております。
2011/7/20 水曜日 22:40:21
素晴らしいフォローに感謝します。早速ver2.2を適用しました。
例えば、Aさんのブログ向けに以下のようにカテゴリーと制限を定義。
親 Aさんのブログ すべて (チェックなし)
子 未分類 (チェック)
子 野球 (チェック)
子 サッカー (チェック)
子 ゴルフ (チェック)
もし、カテゴリー定義で子の未分類が一番上に来ないときはカテゴリー順番変えプラグイン
で一番上に持ってきて投稿時カテゴリー設定忘れのデフォルトカテゴリーにできました。
もうこれで完璧なようです。ありがとうございました。
2011/11/4 金曜日 12:13:15
ユーザー権限で新規投稿・投稿編集の際、Noticeが出てしまうのですが、
私の環境だけでしょうか?
Notice: Trying to get property of non-object in /*****/category-limitation/wp-category-limitation.php on line 105
2011/11/4 金曜日 13:11:03
>Mao さん
先程、投稿者として編集画面を開いてみましたが私の環境では問題ありませんでした。
エラー内容を読むと「105行目でオブジェクトではないデータを取得しようとしている」的な感じでしょうか。
現在、他の方からの報告はありませんが、もし宜しければ修正版を作成してメールを差し上げますがどうでしょうか?ご確認後、問題ない場合は少しバージョンを上げて公開しようと思います。
もし抵抗があるようでしたら、こちらで事象を確認できないので修正するのは難しいです(確認ができないので)。
2011/11/4 金曜日 20:21:34
ISプランニング さん
お返事ありがとうございます。そうして頂けるとありがたいです。
このメールアドレスにお送りください。
テストしてご報告させていただきます。