J'ai déjà eu une installation WordpressMU, mais celle-ci est obsolète et j'essaie de me débrouiller dans les multisites.
J'ai besoin de créer par programme un nouveau compte d'utilisateur pour un site particulier. wp_insert_user a l'air de tout faire sauf de dire quel site l'utilisateur est pour (peut-être que cela prend cela le domaine auquel la demande a été envoyée?).
Il est important que l'utilisateur créé soit membre d'un blog (site), mais pas du (des) autre (s).
Vous pouvez utiliser la fonction add_user_to_blog après la création de l'utilisateur.
$userid = 1;
$blogid = 5;
$role = 'administrator';
add_user_to_blog( $blogid, $userid, $role );
En supposant que vous ayez Wordpress Multisite, avec les sites: example.com
, foo.example.com
et bar.example.co
m et que vous souhaitez ajouter un nouvel utilisateur à foo.example.com
, créez ensuite un script et exécutez ce script via une URL contenant foo.example.com/path/to/your/script.ph
.
Wordpress détecte l'URL, le mappe sur un blog et affecte les utilisateurs créés par wp_insert_user()
à ce blog et non aux autres blogs.
Voir la réponse de Chittaranjan si vous souhaitez ensuite ajouter l'utilisateur à un autre blog/site.