WordPressで特定のユーザーが特定の固定ページを編集可能に
WordPressで作成したWEBサイトで「Permission Groups」というWordPressのプラグインを使い特定の固定ページを特定のユーザーが編集できるようにし、「Permission Groups」の設定ではできない特定の固定ページを編集する際の購読者の権限での「メディアの追加」を「User Role Editor」というプラグインで同じユーザーの権限に「ファイルをアップロード」の権限を追加することで可能にしていましたが、固定ページ内でGoogleMapの埋込や更新がどうしてもできず、昨日から悩んでいました。
それが「User Role Editor」で、「unfiltered_html」または「フィルタリングされていない HTML」にチェックを入れ、ユーザーの権限を増やすことで、漸くこの問題を解消することができました。
また、特定の固定ページの編集を特定のユーザーに許可するとき、「新規追加」のメニューが利用可能な状態になっているのは適切ではないと感じていましたが、これはfunctions.phpにユーザーが管理者以外の場合、「新規追加」のメニューを非表示にするというコードを書くことで解決できました。
できれば消したいと思っていたプロフィールも、なかなか非表示にすることができませんでしたが、これも以下のようなコードをfunctions.phpに書き加えることで、表示を消すことができました。
function authority_remove_menus(){
if ( !current_user_can( ‘administrator’ ) ) { //管理者以外はプロフィールを非表示
remove_menu_page( ‘profile.php’ );
}
}
add_action( ‘admin_menu’, ‘authority_remove_menus’, 999 );
このように特定の固定ページを特定のユーザーが編集できるようにすることで、会員が自分に割り与えられたページを自由に編集できる会員制のサイトや、ショップページをオーナーが自分で更新できる100店とか200店といった商店街のサイトの構築など、様々な用途の広がりが考えられようになります。
現在のWordPressは、標準的な機能では、複数のユーザーが自分だけの固定ページを編集することはできませんが、プラグインやコードを上手に利用することで、現在でも同様の機能を比較的たやすく実現できるということです。
特定のユーザーに表示される管理画面
特定のユーザーが特定のページを編集するためだけの、制限された表示になっています。
編集画面
実際に表示される画面と同じインターフェースにし、編集できる個所は罫線で囲むなど、工夫がしてあります。
ただ、これを、WordPressやブログの編集を経験したことのないユーザーが編集できるかということになると不安を感じます。
メディアの追加画面
特定のページに写真やイラストなどを追加・削除できるようになっていて、メディアライブラリーも特定のユーザーがアップロードしたイメージしか表示されないようになっています。