2016-10-08 3 views

Répondre

4

Ceci est pour rôle d'utilisateur WooCommerce Customer seulement:

ici vous avez les fonctions accroché à articles pour faire ce que vous regardez. Cela permettra à l'utilisateur utilisateur d'accéder à wordpress backend et de publier/éditer des messages (avec cette dernière fonctionnalité, vous devez prendre soin comme customer le rôle de l'utilisateur aura la possibilité d'ajouter/modifier/publier des messages, alors sauvegardez votre base de données avant.

Voici le code:

add_filter('woocommerce_disable_admin_bar', '_wc_disable_admin_bar', 10, 1); 
add_filter('woocommerce_prevent_admin_access', '_wc_prevent_admin_access', 10, 1); 
function _wc_prevent_admin_access($prevent_admin_access) { 
    $user_data = get_userdata(get_current_user_id()); 
    $user_roles = $user_data->roles; 
    $customer_role = get_role('customer'); 

    // For "customer" WooCommerce user role only 
    if (in_array('customer', $user_roles)) { 

     // Warning! with this (This will be definitive, so make a database backup) 
     // Adding 'add_post', 'publish_posts' and 'edit_post' capabilities to customer user role 
     if (!user_can(get_current_user_id(), 'publish_posts')){ 
      $customer_role->add_cap('create_posts'); 
      $customer_role->add_cap('publish_posts'); 
      $customer_role->add_cap('edit_posts'); 
     } 

     // Giving access to wordpress backend 
     return false; 
    } 
} 

Le code va dans le fichier function.php de votre thème enfant actif (ou le thème) ou encore dans un fichier de plug-in.

Ce code a été testé et fonctionne

3

Vous pouvez modifier le rôle par défaut pour les nouveaux utilisateurs sous Paramètres> Général> Nouveau rôle utilisateur par défaut ou, vous pouvez le configurer par programme en utilisant cet extrait (ceci surpassera l'option définie dans les paramètres WP):

add_filter('pre_option_default_role', function($default_role){ 
    return 'subscriber'; //Change this to fit your needs 
}); 
+1

NB: Un abonné n'a pas la possibilité de publier des messages. – helgatheviking