1. Home
  2. Kennisbank
  3. WooCommerce Wholesale Prices Premium
  4. Backend
  5. Hoe winkelmanagers gebruikers in WooCommerce te laten bewerken

Hoe winkelmanagers gebruikers in WooCommerce te laten bewerken

Vanaf WooCommerce versie 3.4.6 werd een beveiligingsoplossing geïntroduceerd die Winkelbeheerders beperkt in het bewerken van andere gebruikers, behalve die met de rol Klant.

Dit betekent dat Winkelbeheerders standaard geen gebruikers kunnen bewerken die groothandelsrollen hebben die zijn aangemaakt door plugins zoals WooCommerce Wholesale Prices of Wholesale Prices Premium.

Stel dat u wilt dat uw Winkelbeheerders gebruikers met groothandelsrollen kunnen bewerken (en promoten). In dat geval kunt u deze functionaliteit eenvoudig inschakelen door de volgende code aan uw site toe te voegen.

Winkelbeheerders in staat stellen groothandelsgebruikers te bewerken

Voeg het volgende codefragment toe aan het functions.php bestand van uw thema, uw child theme, of een aangepaste plugin.

/**
 * 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);


Wat dit codefragment doet

  • Herstelt gebruikersbewerkingsmogelijkheden voor de rol Winkelbeheerder, waardoor ze gebruikers kunnen bekijken, bewerken en promoten.
  • Voegt ondersteuning toe voor groothandelsrollen, zoals wholesale_customer of andere aangepaste groothandelsrollen.
  • Behoudt achterwaartse compatibiliteit met oudere versies van de Wholesale Prices Premium plugin die een andere filter gebruiken.

U kunt groothandelsrollen toevoegen of verwijderen uit de $wholesale_roles array naar behoefte om deze aan te passen aan de configuratie van uw site.

Veelgestelde vragen

Hoe laat ik Winkelbeheerders groothandelsgebruikers bewerken in WooCommerce?
Voeg het meegeleverde PHP-codefragment toe aan het functions.php bestand van uw child theme of aan een aangepaste plugin. Dit herstelt de bewerkingsrechten die sinds WooCommerce 3.4.6 beperkt waren, waardoor Winkelbeheerders profielen van groothandelsgebruikers direct kunnen openen en beheren.

Werkt deze oplossing ook met WooCommerce Wholesale Prices Premium?
Ja. De code ondersteunt zowel de gratis als de premium versie van WooCommerce Wholesale Prices, evenals oudere releases van Wholesale Suite. Het bevat een achterwaarts compatibele functie om oudere installaties automatisch af te handelen.

Tot welke groothandelsrollen hebben Winkelbeheerders toegang met deze code?
Standaard is de filter van toepassing op de volgende rollen:

  • groothandelsklant
  • groothandel_goud

U kunt de toegang uitbreiden door meer rol-slugs toe te voegen aan de $wholesale_roles array in het bestand - er zijn geen extra tools nodig.

Kunnen Winkelbeheerders hiermee ook nieuwe groothandelsaccounts aanmaken?
Ja. Het codefragment verleent de volgende mogelijkheden:

  • gebruikers weergeven
  • gebruikers aanmaken
  • gebruikers toevoegen
  • gebruikers promoten
  • gebruikers bewerken

Dit stelt Winkelbeheerders in staat om nieuwe accounts te registreren en bestaande accounts te beheren zonder dat hiervoor volledige beheerdersrechten nodig zijn.

Waarom kan mijn Winkelbeheerder nog steeds geen groothandelsprofielen zien na het toepassen van de oplossing?
Als het probleem zich blijft voordoen:

  • Zorg ervoor dat het PHP-codefragment is toegevoegd aan het functions.php bestand van een actief child theme of aan een speciale plugin.
  • Controleer of WooCommerce Wholesale Prices is geïnstalleerd en geactiveerd, aangezien de oplossing afhankelijk is van de configuratie ervan.

Hulp Nodig?

Als je een vraag hebt of tegen problemen aanloopt, staan we klaar om te helpen.

Was dit artikel nuttig?

Gerelateerde Artikelen

Voltooi uw aankoop