web-dev-qa-db-fra.com

Comment supprimer les onglets d'aide?

Est-il possible de supprimer les onglets d'aide? Je cherche à supprimer ces onglets pour ne pas les cacher avec CSS.

Sur le wp-admin/includes/screen.php, il y a quelques lignes qui mentionnent cela, mais aucune idée de la manière de créer quelque chose pour supprimer l'onglet d'aide.

Existe-t-il un moyen de créer quelque chose de similaire à: add_filter('screen_options_show_screen', '__return_false');, mais de supprimer l'onglet Aide?

À partir du fichier screen.php:

 647      /**
 648       * Removes a help tab from the contextual help for the screen.
 649       *
 650       * @since 3.3.0
 651       *
 652       * @param string $id The help tab ID.
 653       */
 654    public function remove_help_tab( $id ) {
 655          unset( $this->_help_tabs[ $id ] );
 656      }
 657  
 658      /**
 659       * Removes all help tabs from the contextual help for the screen.
 660       *
 661       * @since 3.3.0
 662       */
 663    public function remove_help_tabs() {
 664          $this->_help_tabs = array();
 665      }
6
user983248

Vous devez utiliser le filtre contextual_help help.

add_filter( 'contextual_help', 'wpse50723_remove_help', 999, 3 );
function wpse50723_remove_help($old_help, $screen_id, $screen){
    $screen->remove_help_tabs();
    return $old_help;
}

Le filtre est destiné à l'ancienne aide contextuelle (pré 3.3). ( Je ne suis pas sûr que le retour soit pris en compte…? ).

Dans tous les cas, le filtre doit être appelé tardivement (d'où 999) car les plug-ins peuvent ajouter leurs propres onglets d'aide aux pages. C'est en partie pourquoi admin_head n'est pas un crochet idéal.

9
Stephen Harris

Ajoutez ceci vous votre fichier functions.php:

add_action('admin_head', 'mytheme_remove_help_tabs');
function mytheme_remove_help_tabs() {
    $screen = get_current_screen();
    $screen->remove_help_tabs();
}

Cela supprimera les onglets et le bouton "Aide" de toutes les pages d'administration.

8
evaqas