web-dev-qa-db-fra.com

Supprimer l'option de la barre d'outils (et définir la valeur par défaut sur non) dans le profil utilisateur

Je ne veux pas que les utilisateurs puissent choisir d’afficher la barre d’administration/la barre d’outils lorsqu’ils se connectent à wordpress. Il n'a pas de fonction pour ces utilisateurs.

Au lieu de cela, j'aimerais que les utilisateurs admin aient la barre d'outils affichée par défaut et que tout le monde la cache par défaut.

Je peux le faire avec un plugin en utilisant css et toutes sortes pour cacher la barre d’outils et l’option dans le profil, mais je me demandais s’il existait une "bonne" façon de le faire?

Merci

1
Thomas Clayson

Pour définir par défaut de ne pas afficher la barre d’administrateur côté public lors de l’inscription, indiquez ce qui suit dans le fichier functions.php de votre thème (remarque: cela ne fonctionnera que pour les nouveaux utilisateurs. via le tableau de bord):

// Disable the user admin bar on public side on registration
add_action('user_register','trash_public_admin_bar');
function trash_public_admin_bar($user_ID) {
    update_user_meta( $user_ID, 'show_admin_bar_front', 'false' );
}
3
MickeyRoush

Essayez ceci - changez manage_options selon la capacité souhaitée.

Cela affichera la barre d'administration uniquement pour les administrateurs.

function remove_admin_bar() {

    if( current_user_can( 'manage_options' ) )
        return true;

    return false;

}
add_filter( 'show_admin_bar' , 'remove_admin_bar' );
2
Matth_eu

En utilisant la réponse de @Matth_eu, vous pouvez activer/désactiver la barre d’administration réelle, mais pour masquer l’option dans les écrans user-edit.php et profile.php, utilisez ceci:

 //Removes the 'Show Toolbar' option.
  function as_remove_personal_options( $subject ) {
    $subject = preg_replace( '#<tr class="show-admin-bar">.+?/tr>#s', '', $subject, 1 );
    return $subject;
  }

  function as_profile_subject_start() {
    ob_start( 'as_remove_personal_options' );
  }

  function as_profile_subject_end() {
    ob_end_flush();
  }
add_action( 'admin_head-profile.php', 'as_profile_subject_start' );
add_action( 'admin_footer-profile.php', 'as_profile_subject_end' );

add_action( 'admin_head-user-edit.php', 'as_profile_subject_start' );
add_action( 'admin_footer-user-edit.php', 'as_profile_subject_end' );
2
Andrew Cafourek