it-swarm.com.de

Was ist der Unterschied zwischen den Funktionen "create_users" und "add_users"?

Der Codex listet sowohlcreate_usersals auchadd_usersunter Rollen und Fähigkeiten auf.

Weiß jemand, was der Unterschied zwischen diesen beiden ist?

2
Sudar

Ich habe WordPress erkundet, um einen Unterschied zwischen WordPress und der Datei schema.php zu finden.

/**
 * Create and modify WordPress roles for WordPress 3.0.
 *
 * @since 3.0.0
 */
function populate_roles_300() {
$role =& get_role( 'administrator' );

if ( !empty( $role ) ) {
    $role->add_cap( 'update_core' );
    $role->add_cap( 'list_users' );
    $role->add_cap( 'remove_users' );

    // Never used, will be removed. create_users or
    // promote_users is the capability you're looking for.
    $role->add_cap( 'add_users' );

    $role->add_cap( 'promote_users' );
    $role->add_cap( 'edit_theme_options' );
    $role->add_cap( 'delete_themes' );
    $role->add_cap( 'export' );
}
}

Aufgrund des im Code geschriebenen Kommentars denke ich, dass die Funktion add_users nur aus Gründen der Abwärtskompatibilität verwendet wird und in zukünftigen Versionen von WordPress entfernt werden kann. Daher sollten wir die Funktion create_users anstelle der Funktion add_users verwenden.

9
Vinod Dalvi

Ich bin nicht ganz sicher, aber afaik WordPress hat diese hinzugefügt, als die Metafunktionen für Post-Typen hinzugefügt wurden. Es gibt eine Reihe von Funktionen für Posts, Seiten und CPTs, die entweder den Standard-CPTs für *_post zugeordnet oder auf benutzerdefinierte CPTs wie create_issues für issues festgelegt werden können. Und da create_posts mit einer der aktuelleren Versionen geliefert wurde, bin ich mir ziemlich sicher, dass dies auch für create_users gilt.

  • Sie können keinen Benutzer erstellen, es sei denn, Sie haben promote_users.

Angenommen, wir möchten einem Editor einige zusätzliche Funktionen in Bezug auf Benutzer geben:

  • list_users macht genau das, was es sagt.
  • Mit edit_users kann er Benutzerkonten mit einer untergeordneten Rolle (Autor/Mitwirkender/Abonnent) bearbeiten.
  • create_users funktioniert überhaupt nicht ohne promote_users (Rückgabe "Sie haben nicht genügend Berechtigungen, um auf diese Seite zuzugreifen.").

Ich bin mir nicht sicher, wann die Patches einziehen werden (sie haben jetzt seit zwei Jahren den Status "Commit").

3
kaiser