Comme lorsque je crée un nouveau site sur un réseau wordpress multisite, seul l'utilisateur administrateur est créé. Je souhaite que tous les utilisateurs présents sur mon premier site soient également présents. J'ai essayé plusieurs plugins d'importation et d'exportation de csv, mais rien ne fonctionne bien. Y a-t-il un autre plugin?
Je suppose que j'ai trouvé la solution parfaite pour cela. Il existe un plugin appelé Gestion des utilisateurs multisites . Il fait facilement la tâche.
Il suffit de l'activer et d'aller dans Admin Réseau -> Paramètres -> Paramètres réseau
Ensuite, il y aura une section appelée Gestion des utilisateurs multisites . Attribuez simplement le rôle (à attribuer aux utilisateurs) pour ce site particulier. Et enregistrez-le, tous les utilisateurs seront automatiquement copiés sur le nouveau site.
Vous pouvez utiliser la fonction add_user_to_blog
pour le faire. Après le Codex, il:
Accorde les autorisations utilisateur spécifiées pour le rôle spécifié sur le blog spécifié.
Et vous l'utilisez comme ceci:
add_user_to_blog($blog_id, $user_id, $role);
Vous voulez le faire automatiquement, quand un nouveau site est créé, vous devrez donc écrire du code et utiliser wpmu_new_blog
hook.
Voici la liste de ses paramètres:
Donc, dans votre cas, vous pouvez l'utiliser comme suit:
function add_users_to_new_blog( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
// get users you want to add to new blog
$users_to_add = new WP_User_Query( array( 'blog_id' => 1 ) ); // <-- change that 1 to proper blog id
foreach ( $users_to_add->get_results() as $user ) {
add_user_to_blog( $blog_id, $user->ID, 'administrator' ); // <-- change administrator to any role you need
}
}
add_action( 'wpmu_new_blog', 'add_users_to_new_blog', 10, 6 );