Comment supprimer l'aide contextuelle et son onglet complètement de Wordpress v3.3.2? Le add_filter pour l'aide contextuelle qui fonctionnait comme à merveille sur l'ancienne version ne fonctionne plus maintenant.
Mise à jour: (solution découpée de Chip Bennett)
function wpse50787_remove_contextual_help() {
$screen = get_current_screen();
$screen->remove_help_tabs();
}
add_action( 'admin_head', 'wpse50787_remove_contextual_help' );
Depuis WordPress 3.3, des onglets d’aide contextuelle sont ajoutés via l’objet Screen , à l’aide de add_help_tab()
. La structure de base est la suivante:
<?php
$screen = get_current_screen();
$screen->add_help_tab( array(
'id' => 'sfc-base',
'title' => __('Connecting to Facebook', 'sfc'),
'content' => "HTML for help content",
) );
?>
Si vous connaissez le $id
d'un onglet d'aide spécifique, vous pouvez le supprimer à l'aide de remove_help_tab()
:
<?php
$screen = get_current_screen();
$screen->remove_help_tab( $id );
?>
Si vous souhaitez supprimer tous les onglets d'aide de l'écran actuel, utilisez remove_help_tabs()
:
<?php
$screen = get_current_screen();
$screen->remove_help_tabs();
?>
Vous avez juste besoin d'insérer cela dans un rappel relié à admin_head
, et vous êtes prêt à partir:
<?php
function wpse50787_remove_contextual_help() {
$screen = get_current_screen();
$screen->remove_help_tabs();
}
add_action( 'admin_head', 'wpse50787_remove_contextual_help' );
?>
Certaines de ces fonctions ne sont pas encore bien documentées dans le Codex. Essayez la source directement; ils sont définis dans /wp-admin/includes/screen.php
.
Comme écrit, ces fonctions agiront globalement . La plupart des utilisateurs voudront cibler une page spécifique à un thème ou à un plug-in pour faire quelque chose comme ça. Si vous souhaitez cibler les écrans d'un thème spécifique, vous devez utiliser le crochet spécifique au thème, par exemple:
<?php
global $wpse50787_options_page;
$wpse50787_options_page = add_theme_page( $args );
?>
Notez qu'à ce stade, vous pouvez également connecter à l'action load
pour votre hook spécifique à la page, afin d'exécuter votre rappel d'aide contextuelle:
<?php
global $wpse50787_options_page;
$wpse50787_options_page = add_theme_page( $args );
// Load contextual help
add_action( 'load-' . $wpse50787_options_page, 'wpse50787_remove_contextual_help' );
?>
Ensuite, recherchez ce point dans votre rappel:
<?php
function wpse50787_remove_contextual_help() {
// Get Theme-specific page hook
global $wpse50787_options_page;
// Get current screen
$screen = get_current_screen();
// Determine if we're on our Theme-specific page
if ( $wpse50787_options_page != $screen->id ) {
return;
} else {
$screen->remove_help_tabs();
}
}
?>