Je dois supprimer tous les thèmes (enfant et parent) css d'une page singulière à l'aide de functions.php dans un thème enfant. Voici ce que je suis en train d'ajouter aux fonctions de l'enfant.php
// import parent and child theme css
function theme_enqueue_styles() {
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
wp_enqueue_style('child-style', get_stylesheet_directory_uri() . '/style.css', array($parent_style));}
// remove the parent & style css
function PREFIX_remove_scripts() {
wp_dequeue_style( 'parent-style' );
wp_dequeue_style( 'child-style' );
wp_dequeue_style( 'parent-style-css' );
wp_deregister_style( 'parent-style' );
wp_deregister_style( 'child-style' );
wp_deregister_style( 'parent-style-css' );
Je souhaite appliquer cette fonction PREFIX_remove_scripts à une seule page du site. Comment puis-je le mieux accomplir cela? Ou existe-t-il un autre moyen approprié? Merci d'avance!
Vous pouvez utiliser balises conditionnelles pour cibler la page sur laquelle vous souhaitez supprimer les styles. Vous pouvez utiliser is_page()
pour cibler un page page (par opposition à un autre type de message) et transmettre un ID de page, un slug, un titre ou aucun argument à target any page.
function wpse_217881_remove_scripts() {
// Check for the page you want to target
if ( is_page( 'About Me And Joe' ) ) {
// Remove Styles
wp_dequeue_style( 'parent-style' );
wp_dequeue_style( 'child-style' );
wp_dequeue_style( 'parent-style-css' );
wp_deregister_style( 'parent-style' );
wp_deregister_style( 'child-style' );
wp_deregister_style( 'parent-style-css' );
}
}
Je suppose que vous l’êtes déjà, mais pour être explicite, vous devriez appeler la fonction qui supprime/désenregistre les styles d’un crochet d’action - dans cet exemple wp_enqueue_scripts
.
À partir du wp_enqueue_scripts
docs :
Malgré son nom, il est utilisé pour mettre en file d'attente les scripts et les styles
add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts' );
// Optionaly add a priority if needed i.e:
// add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts', 20 );