web-dev-qa-db-de.com

So entfernen Sie Hilfe-Tabs?

Gibt es eine Möglichkeit, die Hilferegisterkarten zu entfernen? Ich möchte diese Tabs entfernen, um sie nicht mit CSS zu verbergen.

Auf dem wp-admin/includes/screen.php gibt es ein paar Zeilen, die dies erwähnen, aber keine Ahnung, wie man etwas erstellt, um die Hilfe-Registerkarte zu entfernen.

Gibt es eine Möglichkeit, etwas Ähnliches zu erstellen wie: add_filter('screen_options_show_screen', '__return_false');, aber die Registerkarte "Hilfe" zu entfernen?

Aus der screen.php Datei:

 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

Sie müssen den contextual_help help-Filter verwenden.

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;
}

Der Filter ist für die alte Kontexthilfe (vor 3.3). ( Ich bin nicht sicher, ob es darauf ankommt, was zurückgegeben wird ...? ).

In jedem Fall sollte der Filter verspätet aufgerufen werden (daher 999), da Plug-Ins den Seiten eigene Hilfetabs hinzufügen können. Dies ist teilweise der Grund, warum admin_head kein idealer Haken ist.

9
Stephen Harris

Fügen Sie hierzu Ihre functions.php Datei hinzu:

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

Dadurch werden die Registerkarten und die Schaltfläche "Hilfe" von allen Verwaltungsseiten entfernt.

8
evaqas