it-swarm.com.de

Wordpress Multisite - Wenn sich ein Benutzer auf der Hauptseite anmeldet, wie er einen Benutzer zu einer Unterwebsite hinzufügt

Ich richte ein Wordpress-Netzwerk mit mehreren Standorten ein, in dem Benutzer einen oder mehrere Dienste auf der Hauptseite abonnieren und auf Inhalte auf der Unterseite zugreifen können. Der Zugriff auf die Unterwebsite hängt von dem Service ab, den sie auf der Hauptwebsite abonnieren.

Ich möchte Code verwenden, wenn sich ein Benutzer auf der Hauptseite registriert. Ich kann diesen Benutzer zur Unterwebsite hinzufügen und einige Attribut-/Metadaten hinzufügen, um zu definieren, welchen Zugriff der Benutzer auf der Unterwebsite hat (möglicherweise verwende ich memberpress Zugang verwalten)

Meine Hauptfrage ist, mit welchem ​​Code ein Benutzer zur Subsite hinzugefügt werden kann, wenn er sich auf der Hauptseite anmeldet.

4
nitigyan

Führen Sie add_user_to_blog() nach der Benutzererstellung aus.

Sie können user_register() einhängen, um eine neu erstellte Benutzer-ID zu erhalten und diese und alle bedingten Zuweisungen an Ihren Rückruf zu übergeben, der add_user_to_blog() ausführt.

6
hwl

Ich vervollständige die Antwort von @hwl :

In den meisten Fällen umfasst die Benutzerregistrierung in einer Multisite-Instanz von WordPress einen Aktivierungsschritt.

In diesem Fall müssen Aktionen für wpmu_activate_user verknüpft werden. Aktionen, die an user_register angehängt sind, werden ignoriert. Zum Beispiel:

my_function($user_id)   {
    // to add a user to main site (id=1) as a subscriber add_user_to_blog can be used
    // more info: https://codex.wordpress.org/Function_Reference/add_user_to_blog
    add_user_to_blog( '1', $user_id, 'subscriber' );
}
add_action('wpmu_activate_user','my_function',10,1);
2
skotperez