Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. CMS & Piattaforme Self-Hosted
    5. Come nascondo l'admin agli altri utenti?
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • H
      hermod User • 1 apr 2014, 11:56 ultima modifica di

      Come nascondo l'admin agli altri utenti?

      Sono l'amministratore del sito che ho creato e altri due sono Editori ed essi dovrebbero poter gestire gli utenti che si registrano. Il problema sta nel fatto che in questo modo loro possono cancellare il mio utente o assegnare diritti a chi vogliono (per sè, cambiare i miei, creare altri admin)...

      Premesso che non vorrei utilizzare plugin, conoscete una qualche funzione da mettere nel file functions.php che nasconda il mio utente agli altri utenti? E/o che non consenta modifiche ai ruoli da un certo livello in su?
      (non so se serve, ma il mio admin non è più quello con id=1)

      Grazie mille...

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • fda
        fda Moderatore • 2 apr 2014, 10:17 ultima modifica di

        Ciao hermod.
        L'utente di tipo *Editor *in WordPress gestisce i contenuti ma non può cancellare gli utenti. 🙂

        Francesco

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • H
          hermod User • 2 apr 2014, 10:54 ultima modifica di

          @FDA said:

          Ciao hermod.
          L'utente di tipo *Editor *in WordPress gestisce i contenuti ma non può cancellare gli utenti. 🙂

          Ti devo contraddire...
          Ho appena creato un Editor di test tramite il mio account (Amministratore) e l'ho cancellato tramite un altro utente Editor che era già presente.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • fda
            fda Moderatore • 2 apr 2014, 11:23 ultima modifica di

            Ciao hermod.
            Non so quale operazione tu faccia, con quale plugin opzionale e con quale utente. Mi riferisco alla documentazione di WordPress: codex.wordpress.org/Roles_and_Capabilities

            Per maggiore sicurezza verificherò con una demo vergine. 🙂

            Francesco

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • M
              mcrapanzano User • 12 apr 2014, 23:11 ultima modifica di

              Prova così:
              /** Hide Administrator From User List **/
              function isa_pre_user_query($user_search) {
              $user = wp_get_current_user();
              if (!current_user_can('administrator')) { // Is Not Administrator - Remove Administrator
              global $wpdb;

              $user_search->query_where = 
                  str_replace('WHERE 1=1', 
                      "WHERE 1=1 AND {$wpdb->users}.ID IN (
                           SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta 
                              WHERE {$wpdb->usermeta}.meta_key = '{$wpdb->prefix}capabilities'
                              AND {$wpdb->usermeta}.meta_value NOT LIKE '%administrator%')", 
                      $user_search->query_where
                  );
              

              }
              }
              add_action('pre_user_query','isa_pre_user_query');

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • H
                hermod User • 14 apr 2014, 08:54 ultima modifica di

                @mcrapanzano said:

                Prova così:
                /** Hide Administrator From User List **/
                .........

                Ciao, sto provando... e pare che funzioni!! 🙂

                Una domanda in più: Sai se è possibile fare anche in modo che l'utente non-admin possa non avere anche il modo di modificare o creare un utente assegnandogli il ruolo di Amministratore?
                Perchè, ci stavo pensando ora, è vero che non vede l'admin, ma è anche vero che, in condizioni norali, può crearne uno (o modificare il ruolo di un altroin admin) ...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • M
                  mcrapanzano User • 14 apr 2014, 10:37 ultima modifica di

                  Sì, basta cambiare le capabilities. Aspetta che ti cerco la funzione.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • M
                    mcrapanzano User • 14 apr 2014, 10:41 ultima modifica di

                    Anzi, invece di sporcare il codice per gestire le capabilities, prova questo plugin: Capability Manager Enhanced
                    gestisce le regole per ogni tipologia di utente.
                    🙂

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • H
                      hermod User • 14 apr 2014, 11:36 ultima modifica di

                      @mcrapanzano said:

                      Anzi, invece di sporcare il codice per gestire le capabilities, prova questo plugin: Capability Manager Enhanced
                      gestisce le regole per ogni tipologia di utente.
                      🙂

                      Io ho già un plugin per gestire i Ruoli, si chiama "WPFront User Role Editor" ed ho già modificato alcune cose... Farò casino sul Db ad installare anche quello che mi proponi tu? (che fra l'altro, in effetti, leggo nella sua descrizione che dovrebbe farmi gestire questa cosa).

                      Sennò benvenga un pezzetto di codice... tanto sto usando un child theme... e il mio functions.php è nel child, al sicuro da riscritture con gli aggiornamenti..

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • M
                        mcrapanzano User • 14 apr 2014, 12:05 ultima modifica di

                        Non ti preoccupare non incasini il db con i plugin 🙂 sono fatti per lavorare assieme.
                        nella peggiore delle ipotesi lo disinstalli.
                        invece se vai a sporcare il codice, devi tenere traccia delle modifiche e un domani ricordarti cosa hai fatto o rischi incompatibilità con nuove versioni di wp.
                        ti consiglio di fare una prova con il plugin ;). Se poi non funziona, ti mando due righe 🙂

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • M
                          mcrapanzano User • 14 apr 2014, 12:20 ultima modifica di

                          Ti riconsiglio di usare il plugin, ma nel caso ti lascio il codice 🙂
                          //prevent editor from deleting, editing, or creating an administrator
                          // only needed if the editor was given right to edit users

                          class ISA_User_Caps {

                          // Add our filters
                          function ISA_User_Caps(){
                          add_filter( 'editable_roles', array(&$this, 'editable_roles'));
                          add_filter( 'map_meta_cap', array(&$this, 'map_meta_cap'),10,4);
                          }
                          // Remove 'Administrator' from the list of roles if the current user is not an admin
                          function editable_roles( $roles ){
                          if( isset( $roles['administrator'] ) && !current_user_can('administrator') ){
                          unset( $roles['administrator']);
                          }
                          return $roles;
                          }
                          // If someone is trying to edit or delete an
                          // admin and that user isn't an admin, don't allow it
                          function map_meta_cap( $caps, $cap, $user_id, $args ){
                          switch( $cap ){
                          case 'edit_user':
                          case 'remove_user':
                          case 'promote_user':
                          if( isset($args[0]) && $args[0] == $user_id )
                          break;
                          elseif( !isset($args[0]) )
                          $caps[] = 'do_not_allow';
                          $other = new WP_User( absint($args[0]) );
                          if( $other->has_cap( 'administrator' ) ){
                          if(!current_user_can('administrator')){
                          $caps[] = 'do_not_allow';
                          }
                          }
                          break;
                          case 'delete_user':
                          case 'delete_users':
                          if( !isset($args[0]) )
                          break;
                          $other = new WP_User( absint($args[0]) );
                          if( $other->has_cap( 'administrator' ) ){
                          if(!current_user_can('administrator')){
                          $caps[] = 'do_not_allow';
                          }
                          }
                          break;
                          default:
                          break;
                          }
                          return $caps;
                          }

                          }

                          $isa_user_caps = new ISA_User_Caps();

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • M
                            mcrapanzano User • 14 apr 2014, 12:23 ultima modifica di

                            Le funzioni isa_ sono nomi casuali dati da un'autrice che avevo trovato sul web (Isa, appunto), quindi rinominale come preferisci.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • H
                              hermod User • 14 apr 2014, 12:57 ultima modifica di

                              Vado a provare prima i plugin e poi vedo se usare questo codice... Intanto ti ringrazio... 🙂

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • M
                                mcrapanzano User • 14 apr 2014, 13:14 ultima modifica di

                                Fammi poi sapere quale soluzione hai adottato 😉

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • H
                                  hermod User • 14 apr 2014, 13:34 ultima modifica di

                                  Allora ho già fatto un po' prove...
                                  Ho tolto il plugin che avevo messo io e installato C.M.E., e in functions.php penso di usare il codice relativo al nascondere il nome dell'admin, così sembra tutto più pulito... 🙂

                                  Davvero grazie mille ancora... Sei stato indispensabile 😉
                                  ciaooo

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • M
                                    mcrapanzano User • 14 apr 2014, 13:44 ultima modifica di

                                    È stato un piacere 🙂
                                    comunque : 'stata' non stato 😄
                                    Se hai bisogno ancora fammi sapere.
                                    buon lavoro by
                                    monica

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • H
                                      hermod User • 15 apr 2014, 08:29 ultima modifica di

                                      Oooops... Scusa, non mi ero accorto "che eri stata" .. 😄
                                      Alla prossima.. Ciaoo

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      Caricamento altri post
                                      Rispondi
                                      • Topic risposta
                                      Effettua l'accesso per rispondere
                                      • Da Vecchi a Nuovi
                                      • Da Nuovi a Vecchi
                                      • Più Voti