Je trouve les infobulles 3.3 ennuyeuses lorsque je mets à jour de nombreux sites en direct et en développement. Comment puis-je les désactiver via functions.php? Unenqueue wp-includes/js/wp-pointer.js?
Vous pouvez également supprimer le script de pointeur et le style de leurs tableaux respectifs juste après leur enregistrement à l'aide de cette méthode.
// Remove javascript
add_action( 'wp_default_scripts' , 'remove_pointer_script' );
function remove_pointer_script( $wp_scripts ) {
$wp_scripts->remove('wp-pointer');
}
// Remove stylesheet
add_action( 'wp_default_styles' , 'remove_pointer_style' );
function remove_pointer_style( $wp_styles ) {
$wp_styles->remove('wp-pointer');
}
La méthode remove
fait partie de la classe de dépendances qui est étendue à la fois par les classes WP_Scripts
et WP_Styles
. Elle effectue essentiellement l'inverse de la méthode add
, qui est utilisé dans le noyau pour enregistrer les scripts et les styles par défaut. Mentionné si vous êtes curieux de savoir d'où vient cette méthode et à quoi elle sert.
Je suppose que vous pouvez également encapsuler ces actions dans une vérification current_user_can
également si vous souhaitez les supprimer pour des utilisateurs spécifiques, par exemple les administrateurs.
if( current_user_can( 'manage_options' ) ) {
add_action( 'wp_default_scripts' , 'remove_pointer_script' );
add_action( 'wp_default_styles' , 'remove_pointer_style' );
}
Personnellement, j'aime bien les nouvelles infobulles, et il est dommage qu'il ne soit pas encore possible d'utiliser une API simple pour les utiliser dans des plugins , mais je peux voir à quel point cela peut être ennuyant. Vous effectuez de nombreuses installations ou mises à niveau et vous ne devez effectuer que des tâches.
Oui, supprimez simplement le script (et les styles):
add_action('admin_enqueue_scripts', 'no_pointers');
function no_pointers(){
wp_dequeue_script('wp-pointer');
wp_dequeue_style('wp-pointer');
}
Ou vous pouvez simplement les désactiver de façon permanente pour un utilisateur spécifique (exécuté une seule fois):
WP_Internal_Pointers::dismiss_pointers_for_new_users($user_id = 0);