概要
WordPressプラグイン開発の基礎知識について、特定のページで特定のユーザーロールにのみ表示されるコンテンツを制御する方法を紹介します。
- ユースケース: 特定のページで管理者以外のユーザーにのみ特定のコンテンツを表示したい場合に、このスニペットが必要です。
- 前提条件: このコードを使用するには、WordPressサイトにカスタムプラグインをインストールして有効化する必要があります。
サンプルコード
function custom_content_visibility() {
if ( is_page( 'example-page' ) && ! current_user_can( 'administrator' ) ) {
// ここに特定のユーザーロールにのみ表示させたいコンテンツを記述
}
}
add_action( 'template_redirect', 'custom_content_visibility' );
解説
- `function custom_content_visibility()` は、テンプレートリダイレクト時に実行される関数です。
- `is_page( 'example-page' )` は、特定のページ(例: "example-page")かどうかをチェックします。
- `! current_user_can( 'administrator' )` は、現在のユーザーが管理者でないかを確認します。
- コンテンツを表示するための条件分岐を記述します。
ベストプラクティス
- コンテンツの制御はセキュリティ面でも重要なので、管理者以外のユーザーに表示されてはいけない情報を含む場合は慎重に設計してください。
- 上記の例では管理者以外のユーザーにコンテンツを表示する方法を示しましたが、他のユーザーロールや条件に合わせてカスタマイズすることが可能です。