kunihiro.sakamotoさん、こんにちは。
WordPress Codexに関連の情報が載っていますが、デフォルト状態であれば、編集者は他人の投稿・ページの編集は可能なはずです。また、作成者のレベルによって編集権限が変更されるという実装はなされていないはずです。
編集者の編集関連の権限
edit_others_pages
edit_others_posts
edit_pages
edit_posts
edit_private_pages
edit_private_posts
edit_published_pages
edit_published_posts
いただいた文面からのみですと、原因は解りかねるのですが、表示されるメッセージは「編集権限がありません」みたいなメッセージでしょうか。
jim912 さん、こんにちは。
コメントありがとうございます。私もご指摘の通り、そのような実装はないと理解しているのですが、実際には同じ「編集人」権限をもった同士の記事が再編集ができない状況です。
具体的な状況としては以下です。
1)A編集者でログイン後、記事a(投稿)を作成後、ログオフ。
2)B編集者でログイン後、記事aを編集するために、投稿-編集を選択。投稿一覧が表示されるが、記事aには編集画面に遷移するリンクがない(マウスオーバーしても「編集」の表示がでてこない)。「削除」と「表示」は表示されます。
3)B編集者が自ら作成した記事は、当然編集できる。
4)管理者でログイン後、記事aの作成者をB編集者に変更すると、B編集者でログイン後には編集可能になる。
5)「作成者」が作成した記事は、A編集者もB編集者も再編集できます。また、「管理者」が作成した記事は、A編集者もB編集者も再編集できません。
このような状況です。
wordpressは、この9月に始めたばかりです。Verは2.8.4になります。
なにかわかりましたら、ご教授ください。
よろしくお願いします。
私もずっと(2.4ころ始めた)同じ症状で困っています。
編集者の権限では、自分の書いた記事しか編集できません。
他人の記事の削除はできます。
せっかくの機能なのに、残念です。
現在はWordpress MU と、Wordpress どちらも2.9.1 で
coreserverを使っています。
ちなみに
\wp-admin\includes\schema.php
に権限の設定のような部分がありますが、ここをどんなにいじっても反映されません。
そのあたりに原因があるのでしょうか?
ローカル環境で試したところ、仕様どおり「編集者」同士で編集し合えました。(ユーザーの切り替えはログアウト&ログインで行ないました)
- 2.9.1 日本語版を新規インストール
- ユーザー A と B 両方とも「編集者」として作成
- 2.9.1 日本語版で、A が下書き作成(この投稿の作成者:A)→ B が編集
- 2.9.2 日本語版にアップグレードして、上の投稿を B がさらに編集 → A が投稿編集画面から公開 → B が更新
次の2点を教えてください。
1. 今までに権限系のプラグイン(Role Manager とか)を入れたことはありますか?(参考)
2. データベースの次の値はどうなっていますか?(「wp_」の部分はテーブル名の接頭辞に読み替え)
2-1. wp_options テーブルの option_name が wp_user_roles の行の option_value の値
2-2. wp_usermeta テーブルの meta_key が wp_capabilities の行と wp_user_level の行の、meta_value の値
返答が遅くなりまして申し訳ございません。
やはり、私の環境での不具合なのですね。
今も、問題を解決しないまま、ユーザーに管理者権限を与えて使用しています。
質問に回答します。
1.権限系のプラグインは入れたことがありません
2-1 wp_user_roles の option_value
膨大な量なので書ききれませんが、editor の権限には
edit_others_posts や delete_others_posts なども含まれています。
2-2
wp_capabilities … a:1:{s:13:”administrator”;b:1;}
wp_user_level … 10
なにか原因解明になる手がかりはありますでしょうか?
Yuichi Nagataさん、情報ありがとうございます。
困っていらっしゃるのにレス遅くなってしまってすみません~~。
2-2
wp_capabilities … a:1:{s:13:”administrator”;b:1;}
wp_user_level … 10
こちらは管理者アカウントの分ですね。
編集者さんのデータはどうでしょう。私がテストしたときのはこうでした。↓
umeta_id user_id meta_key meta_value
5 1 wp_capabilities a:1:{s:13:"administrator";b:1;} ←管理者
7 1 wp_user_level 10
14 2 wp_capabilities a:1:{s:6:"editor";b:1;} ←編集者Aさんの分
15 2 wp_user_level 7
20 3 wp_capabilities a:1:{s:6:"editor";b:1;} ←編集者Bさんの分
21 3 wp_user_level 7
phpMyAdminの検索画面の「または検索条件(“where”節の内容)~」欄に
meta_key
LIKE ‘%capabilities%’ OR meta_key
LIKE ‘%user_level%’
(option_name
、meta_key
、meta_key
はバッククォート(
`)で括って)
みたいに入れて実行すると、一度で表示できますよ。
2-1. wp_user_roles
の editor の部分:
s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}