web-dev-qa-db-fra.com

Comment utiliser wp_insert_user sur Wordpress Multisite?

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).

2
artfulrobot

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 );
3
Chittaranjan

En supposant que vous ayez Wordpress Multisite, avec les sites: example.com, foo.example.com et bar.example.com 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.

1
artfulrobot