MENU

check_import_new_users()

check_import_new_users() は、ネットワークを利用してユーザーを一括インポートするときに、現在操作を行っているユーザーが必要な権限を持っているかを判定します。

主にマルチサイト環境で使われ、管理者やネットワーク管理者以外によるユーザーインポートを防ぎます。

目次

基本構文

check_import_new_users( string $permission = '' ): bool;
  • $permission は将来的に使われる可能性がある引数ですが、現時点では未使用です。
  • current_user_can( 'manage_network_users' ) によって判定され、true(許可)または false(不許可)を返します。

引き数と戻り値

スクロールできます
引数名説明
$permissionstringチェック対象のパーミッション名(現在は未使用。将来の拡張用)。
スクロールできます
戻り値名説明
truebool現在のユーザーが manage_network_users 権限を持っている場合。
falsebool権限がない場合。

使用例

タグを使った使用例

if ( check_import_new_users() ) {
    echo 'ユーザーのインポートが可能です。';
    // インポート処理を続行
} else {
    wp_die( '権限がありません。' );
}

ネットワークのインポートを行う処理の前に実行し、権限判定に基づいて処理を制御します。

注意点

  • マルチサイト専用:この関数は、通常のシングルサイトでは有効な権限を持つユーザーが対象外です(manage_network_users はネットワーク管理者権限)。
  • $permission は将来の拡張用で、現段階では機能しません。呼び出し時に値を渡す必要もありません。
  • 単なる判定処理なので、実際のユーザーインポートやエラーハンドリングは別途自分で実装する必要があります。

良く一緒に使われる関数

current_user_can()

if ( current_user_can('manage_network_users') ) {
    // ネットワーク管理者向けの処理
}

check_import_new_users() は内部で同関数を使って権限判定しています。

is_multisite()

if ( is_multisite() && check_import_new_users() ) {
    // マルチサイトでかつインポート権限あり
}

シングルサイトやマルチサイト環境を判定するために使います。

wp_die()

if ( ! check_import_new_users() ) {
    wp_die('権限がありません');
}

権限がない場合に処理を止める標準関数です。

想定されるトラブル

管理者でないユーザーでもインポート処理が通ってしまう

ネットワーク設定に問題があり、ユーザーに manage_network_users 権限が与えられている可能性があります。

解決方法

  • Super Admin(ネットワーク管理者)であることを確認してください。
  • Network Admin → Users 画面で対象ユーザーに適切な権限が付与されているか確認します。

マルチサイト環境にもかかわらず常に false が返る

is_multisite() が正しく認識されていない、またはフック処理が適切でない可能性があります。

解決方法

  • wp-config.phpdefine('WP_ALLOW_MULTISITE', true) があるか確認。
  • サイトがマルチサイトネットワークに正しく設定されているかチェックしてください。

Q&A

単一サイトでこの関数を使っても効果ありますか?

いいえ。シングルサイトでは常に false を返します。

$permission'import'などを渡す意味は?

現時点では未使用ですが、将来的に細かい権限区分に対応する可能性があります。

この関数の役割は何ですか?

ネットワーク管理者かどうかだけを確認し、ユーザーインポートの可否判定に特化しています。

まとめ

check_import_new_users() は、マルチサイト環境において「ネットワーク管理者権限を持つユーザーかどうか」を判定するための簡易関数です。

実際のユーザーインポート処理を呼び出す前に、この関数で権限チェックを行うことで、不要な権限エラーやセキュリティリスクを防げます。シンプルですが重要なチェックポイントです。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次