current_user_can_for_site()


WordPressの関数current_user_can_for_site()は、現在のユーザーが指定されたサイトで特定の権限を持っているかどうかを確認するために使用されます。

構文

current_user_can_for_site( string $capability, int $site_id );

引数の説明:

  • $capability (string) — ユーザーが確認する権限。例:’edit_posts’、’manage_options’ など。
  • $site_id (int) — サイトのID。確認するサイトのIDを指定します。

例1: サイト内で投稿を編集する権限を持っているか確認する

現在のユーザーが指定したサイトで投稿を編集する権限を持っているかを確認します。

<?php
if ( current_user_can_for_site( 'edit_posts', get_current_blog_id() ) ) {
    echo 'このユーザーは投稿を編集できます。';
} else {
    echo 'このユーザーは投稿を編集できません。';
}
?>

例2: サイト管理者権限の確認

現在のユーザーが指定したサイトで管理者権限を持っているか確認します。

<?php
if ( current_user_can_for_site( 'manage_options', get_current_blog_id() ) ) {
    echo 'このユーザーは管理者権限を持っています。';
} else {
    echo 'このユーザーは管理者権限を持っていません。';
}
?>
[/code>

<h3>例3: ユーザーが特定のページを表示できる権限を持っているか確認</h3>
指定したサイトでユーザーが特定のページを表示する権限を持っているか確認します。

[code language="php"]
<?php
if ( current_user_can_for_site( 'read', get_current_blog_id() ) ) {
    echo 'このユーザーはページを表示できます。';
} else {
    echo 'このユーザーはページを表示できません。';
}
?>

例4: ユーザーが記事を削除できるか確認

指定したサイトでユーザーが記事を削除する権限を持っているか確認します。

<?php
if ( current_user_can_for_site( 'delete_posts', get_current_blog_id() ) ) {
    echo 'このユーザーは記事を削除できます。';
} else {
    echo 'このユーザーは記事を削除できません。';
}
?>

例5: ユーザーがメディアを管理する権限を持っているか確認

指定したサイトでユーザーがメディアを管理する権限を持っているか確認します。

<?php
if ( current_user_can_for_site( 'upload_files', get_current_blog_id() ) ) {
    echo 'このユーザーはメディアを管理できます。';
} else {
    echo 'このユーザーはメディアを管理できません。';
}
?>

注意点

  • current_user_can_for_site()は、指定したサイトIDに基づいてユーザーの権限を確認します。
  • サイトIDは、get_current_blog_id()関数を使用して取得することができます。
  • 権限の種類は、WordPressのcapabilityシステムに基づいて設定します。

関連機能: