1. Startseite
  2. Wissensdatenbank
  3. WooCommerce Wholesale Prices Premium
  4. Backend
  5. So können Shop-Manager Benutzer in WooCommerce bearbeiten

So können Shop-Manager Benutzer in WooCommerce bearbeiten

Ab WooCommerce Version 3.4.6 wurde ein Sicherheitspatch eingeführt, der Shop-Manager daran hindert, andere Benutzer zu bearbeiten, mit Ausnahme von Benutzern mit der Rolle Kunde.

Das bedeutet, dass Shop-Manager standardmäßig keine Benutzer bearbeiten können, die Großhandelsrollen haben, die von Plugins wie WooCommerce Wholesale Prices oder Wholesale Prices Premium erstellt wurden.

Wenn Sie möchten, dass Ihre Shop-Manager Benutzer mit Großhandelsrollen bearbeiten (und befördern) können, können Sie diese Funktionalität einfach aktivieren, indem Sie den folgenden Code zu Ihrer Website hinzufügen.

So können Shop-Manager Großhandelsbenutzer bearbeiten

Fügen Sie den folgenden Ausschnitt zu Ihrer functions.php-Datei des Themes, Ihrem Child-Theme oder einem benutzerdefinierten Plugin hinzu.

/**
 * Allow Shop Managers to edit and promote wholesale users.
 */
function wws_add_shop_manager_user_editing_capability() {
    $shop_manager = get_role('shop_manager');

    if ( ! $shop_manager ) {
        return;
    }

    // Only add capabilities if they don't already exist
    if ( ! $shop_manager->has_cap('edit_users') ) {
        // Core WP + WooCommerce capabilities
        $shop_manager->add_cap('list_users');
        $shop_manager->add_cap('edit_users');
        $shop_manager->add_cap('create_users');
        $shop_manager->add_cap('promote_users');
        $shop_manager->add_cap('add_users');
    }
}
add_action('init', 'wws_add_shop_manager_user_editing_capability');

/**
 * Allow Shop Managers to edit wholesale roles.
 */
function wws_allow_shop_manager_wholesale_roles( $roles ) {
    $wholesale_roles = array(
        'wholesale_customer',
        'wholesale_gold',
    );

    foreach ( $wholesale_roles as $role ) {
        // Only add if the role exists in WordPress
        if ( get_role( $role ) && ! in_array( $role, $roles, true ) ) {
            $roles[] = $role;
        }
    }

    return $roles;
}
add_filter('woocommerce_shop_manager_editable_roles', 'wws_allow_shop_manager_wholesale_roles', 20);

/**
 * Some versions of Wholesale Prices Premium use their own editable roles filter.
 * Note: This filter may not exist in current versions - keeping for backward compatibility.
 */
function wws_allow_shop_manager_wholesale_roles_wholesale_suite( $roles ) {
    $wholesale_roles = array(
        'wholesale_customer',
        'wholesale_gold',
    );

    foreach ( $wholesale_roles as $role ) {
        // Only add if the role exists in WordPress
        if ( get_role( $role ) && ! in_array( $role, $roles, true ) ) {
            $roles[] = $role;
        }
    }

    return $roles;
}
add_filter('wwp_shop_manager_editable_roles', 'wws_allow_shop_manager_wholesale_roles_wholesale_suite', 20);


Was dieser Ausschnitt bewirkt

  • Stellt die Benutzerbearbeitungsfunktionen für die Rolle des Shop-Managers wieder her, sodass diese Benutzer anzeigen, bearbeiten und befördern können.
  • Fügt Unterstützung für Großhandelsrollen hinzu, wie z. B. wholesale_customer oder andere benutzerdefinierte Großhandelsrollen.
  • Wahrt die Abwärtskompatibilität mit älteren Versionen des Wholesale Prices Premium-Plugins, die einen anderen Filter verwenden.

Sie können nach Bedarf Großhandelsrollen zum $wholesale_roles-Array hinzufügen oder daraus entfernen, um die Konfiguration Ihrer Website anzupassen.

Häufig gestellte Fragen

Wie lasse ich Shop-Manager Großhandelsbenutzer in WooCommerce bearbeiten?
Fügen Sie den bereitgestellten PHP-Ausschnitt zur functions.php-Datei Ihres Child-Themes oder einem benutzerdefinierten Plugin hinzu. Dies stellt die Bearbeitungszugriff wieder her, der seit WooCommerce 3.4.6 eingeschränkt war, und ermöglicht es Shop-Managern, Großhandelsbenutzerprofile direkt zu öffnen und zu verwalten.

Funktioniert diese Korrektur auch mit WooCommerce Wholesale Prices Premium?
Ja. Der Code unterstützt sowohl die kostenlose als auch die Premium-Version von WooCommerce Wholesale Prices sowie ältere Wholesale Suite-Releases. Er enthält eine abwärtskompatible Funktion zur automatischen Handhabung älterer Setups.

Auf welche Großhandelsrollen können Shop-Manager mit diesem Code zugreifen?
Standardmäßig gilt der Filter für die folgenden Rollen:

  • Großhandelskunde
  • wholesale_gold

Sie können den Zugriff erweitern, indem Sie weitere Rollen-Slugs zum $wholesale_roles-Array in der Datei hinzufügen – keine zusätzlichen Tools erforderlich.

Können Shop-Manager mit diesem Code auch neue Großhandelskundenkonten erstellen?
Ja. Der Ausschnitt gewährt die folgenden Berechtigungen:

  • Benutzer auflisten
  • Benutzer erstellen
  • Benutzer hinzufügen
  • Benutzer befördern
  • Benutzer bearbeiten

Dies ermöglicht es Shop-Managern, neue Konten zu registrieren und bestehende zu verwalten, ohne vollständige Administratorrechte zu benötigen.

Warum kann mein Shop-Manager nach Anwendung der Korrektur immer noch keine Großhandelsprofile sehen?
Wenn das Problem weiterhin besteht:

  • Stellen Sie sicher, dass der PHP-Ausschnitt zur functions.php-Datei eines aktiven Child-Themes oder einem dedizierten Plugin hinzugefügt wurde.
  • Bestätigen Sie, dass WooCommerce Wholesale Prices installiert und aktiviert ist, da die Lösung von seiner Konfiguration abhängt.

Benötigen Sie Hilfe?

Wenn Sie eine Frage haben oder auf Probleme stoßen, sind wir für Sie da.

War dieser Artikel hilfreich?

Verwandte Artikel

Kauf abschließen