WordPressで投稿者権限の問い合わせを非表示にする方法|Admin Menu Editorの使い方

WordPressは、その柔軟性と拡張性から、多くのウェブサイトで利用されている人気のCMS(コンテンツ管理システム)です。さまざまなプラグインを活用して、機能を追加することができ、その中でも「コンタクトフォーム7」は特に使いやすく、ユーザーからの問い合わせを簡単に管理できるプラグインとして広く知られています。
しかし、時には特定のユーザー権限に基づいて、特定のユーザーに対してフォームを非表示にする必要が出てくることがあります。
たとえば、投稿者権限を持つユーザーには問い合わせフォームを見せたくない場合などです。本記事では、WordPressのユーザー権限の仕組みを理解した上で、問い合わせフォームを非表示にする具体的な方法と、Admin Menu Editorプラグインの使い方について詳しく解説します。
WordPressのユーザー権限について
WordPressでは、さまざまなユーザーロールが存在し、それぞれ異なる権限を持っています。主なユーザーロールは以下の通りです。
管理者 | サイト全体の管理ができる最高権限を持つユーザーであり、全ての設定やコンテンツにアクセスできます。 |
編集者 | 投稿やページの作成、編集、削除が可能であり、他のユーザーの投稿にもアクセスできるため、コンテンツ全般の管理が行えます。 |
投稿者 | 自分の投稿を作成、編集、削除する権限を持ちますが、他のユーザーの投稿にはアクセスできないため、自己管理に特化しています。 |
寄稿者 | 投稿を作成することはできますが、公開する権限は持っていないため、他のユーザーによる承認を待つ必要があります。 |
購読者 | コメントができる権限を持つだけで、投稿の作成や編集はできません。 |
このように、ユーザーの役割によって権限が異なるため、特定のユーザーに対して特定の操作を許可または制限することが可能になります。これによって、サイトのセキュリティを高め、適切な情報の共有を行うことができます。
投稿者に問い合わせを非表示にする方法
特定のユーザー権限に基づいてコンタクトフォームを非表示にするためには、カスタムコードを使う方法やプラグインを利用する方法があります。それぞれの方法について詳しく見ていきましょう。
1. カスタムコードを使用する方法
WordPressのテーマのfunctions.phpファイルにカスタムコードを追加することで、特定の権限を持つユーザーに対してフォームを非表示にすることができます。この方法は、プラグインに依存せず、サイトのパフォーマンスに影響を与えないため、非常に効果的です。
functions.phpにコードを追加
- テーマエディターにアクセス: WordPressの管理画面から「外観」→「テーマエディター」を選択します。
- functions.phpを開く: 現在のテーマのfunctions.phpファイルを開きます。このファイルはテーマの設定や機能を拡張するための重要な部分です。
- 以下のコードを追加:
function hide_contact_form_for_authors($content) {
if (current_user_can('author')) {
// 特定のショートコードを非表示にする
$content = str_replace('エラー: コンタクトフォームが見つかりません。
', '', $content);
}
return $content;
}
add_filter('the_content', 'hide_contact_form_for_authors');
PHPここで、YOUR_FORM_ID
は、非表示にしたいコンタクトフォームのIDに置き換えます。このコードは、ユーザーが「投稿者」権限を持っている場合に、そのフォームを非表示にします。これによって、投稿者がフォームにアクセスできないようにすることができます。
2. Admin Menu Editorの利用
Admin Menu Editorは、WordPressの管理メニューをカスタマイズするためのプラグインです。このプラグインを使用することによって、特定のユーザー権限に基づいてメニュー項目を非表示にしたり、再配置したりすることができます。
1. プラグインのインストール
- プラグインを探す: WordPressの管理画面から「プラグイン」→「新規追加」で「Admin Menu Editor」を検索します。
- インストールと有効化: プラグインをインストールし、有効化します。
2. メニューのカスタマイズ
STEP1:設定画面にアクセス
まず、管理画面の左メニューに「Menu Editor」が追加されるので、これをクリックします。
STEP2:メニューの編集
そして、表示された画面で、非表示にしたいメインメニュー項目(例えば「お問い合わせ」)を見つけ、クリックします。

また、選択できる項目は、メインメニュー以外にも、サブメニューも選択することができます。
例えば、「お問い合わせ」>「新規追加」は投稿者に見せておきたいが、
「お問い合わせ」>「コンタクトフォーム」は非表示にしたい場合、以下のように右側に出てくるサブメニューを選択して調整します。

STEP3:権限の設定
次に、特定の権限を持つユーザーに対してメニューを非表示にする設定を行います。
「Extra capability」を選択し、「administrator」を選択すると「管理者」以外では、指定の項目が表示されなくなりメニューにアクセスできなくなります。
STEP4:変更の保存
そして、すべての変更を保存します。
フォームのテスト
設定が完了したら、実際に投稿者アカウントでログインし、フォームが正しく非表示になっているかを確認します。以下の手順でテストを行います。
- 投稿者アカウントでログイン: 投稿者のユーザーアカウントでWordPressにログインします。
- フォームが埋め込まれたページを訪問: フォームを表示させたページにアクセスし、フォームが表示されないことを確認します。
- 他の権限のユーザーで確認: 管理者アカウントで同じページを訪れ、フォームが表示されることを確認します。この確認作業は、設定が正しく機能していることを保証するために重要です。
ユーザー権限管理のベストプラクティス
WordPressサイトを運営する上で、ユーザー権限の管理は非常に重要です。適切な権限設定は、サイトのセキュリティを高め、コンテンツ管理を効率的に行うための鍵となります。
1. 定期的な確認
ユーザー権限やロールの設定は、サイトの運営に伴って変更が生じるため、定期的に確認することが大切です。新しいユーザーが追加されたり、既存のユーザーの役割が変わったりする場合には、その都度設定を見直す必要があります。
2. 不要な権限の削除
次に、特定のユーザーに不要な権限を与えないようにしましょう。
例えば、投稿者に管理者権限を与えてしまうと、意図しない操作をされるリスクが高まります。必要な権限だけを与え、最小限のアクセス権で運用することが重要です。
3. プラグインの活用
ユーザー権限を管理するためのプラグインを活用することで、権限設定を簡単に行うことができます。たとえば、「User Role Editor」や「Members」などのプラグインを利用することで、権限の追加や変更が直感的に行えます。
まとめ
WordPressでコンタクトフォーム7を使用し、特定のユーザー権限に基づいてフォームを非表示にすることは、サイトのセキュリティやユーザー体験の向上に寄与します。カスタムコードを使用する方法や、Admin Menu Editorプラグインを利用する方法の両方があり、サイトのニーズに応じて最適な方法を選択できます。
これにより、特定のユーザーが不要な情報にアクセスすることを防ぎ、必要なユーザーにのみ情報を提供することが可能になります。今後のサイト運営において、ユーザー権限の適切な管理がデジタルマーケティングの成功につながることを期待しています。
このように、WordPressでの権限管理は非常に重要な要素です。適切な設定を行うことで、サイトの運営がスムーズになり、ユーザーの信頼を得ることができます。ぜひ、この記事を参考にして、あなたのWordPressサイトをより良いものにしてください。
作業の手順がわからない、WEB関連の課題をひとまとめに解決したいという方へ
動画制作・ホームページ制作・広告運用代行など、WEBの課題を一本化しませんか?
弊社サービス「IPPONka(一本化)」を是非ご利用ください。
