Supporto » Sviluppare con WordPress » Problema con uno script che non funziuona con tutti i ruoli

  • Ciao a tutti! Ho un problema con uno script: ho un ecommerce in woocommerce ed un plugin di esportazione fatture in PDF, il mio script dovrebbe leggere il ruolo utente e, in base al tipo di ruolo, scegliere un tema grafico diverso per la generazione delle fatture. Il codice è questo:

    function change_template_based_on_user_role($template_name, $template_type, $order_id)
    {

    // load current user data
    $user=wp_get_current_user();

    // Load user role and save it in the $user_first_role variable

    $roles=(array)$user->roles;
    $user_first_role=$roles[0];

    // if user role can’t be loaded use the standard template

    if (false===$user_first_role) {
    return $template_name;
    }

    // set the cases
    switch ($user_first_role) {

    case ‘socio’:
    $template_name = ‘soci’;
    break;

    case ‘customer’:
    $template_name = ‘nonsoci’;
    break;

    case ‘ospite’:
    $template_name = ‘nonsoci’;
    break;

    case ‘administrator’:
    $template_name = ‘nonsoci’;
    break;

    }
    return $template_name;
    }
    add_filter( ‘wpi_template_name’, ‘change_template_based_on_user_role’, 99, 3 );

    Purtroppo il codice funziona solo se l’utente che ha fatto un ordine è un amministratore, con tutti gli altri ruoli non funziona. Cosa può essere? Qualche suggerimento? Grazie mille!

  • Devi essere collegato per rispondere a questo topic.