web-dev-qa-db-fra.com

Comment supprimer tous les styles pour certains modèles de page?

Je sais comment créer des thèmes pour enfants et des modèles de page. J'ai un thème enfant de Salient appelé Salient-Child et un modèle de page appelé blankPage.php.

Pour toutes les pages qui utilisent ce modèle, je souhaite qu'aucune feuille CSS ne soit chargée.

Je connais wp_register_script, wp_deregister_script, wp_deregister_style, wp_dequeue_style, etc., mais je ne sais pas où et comment les utiliser.

J'ai essayé de taper certaines de ces fonctions dans le fichier blankPage.php lui-même, et j'ai également essayé de l'édition de functions.php. J'ai essayé d'utiliser un conditionnel avec if(is_page_template('blankPage.php')){...}.

Toute orientation serait appréciée.

Merci!

4
Ryan

J'ai semblé résoudre le problème, et c'était si simple que je suis choqué de ne l'avoir jamais vu auparavant.

Tout d’abord, j’ai supprimé l’ensemble de mon thème enfant pour pouvoir recommencer à zéro.

Ensuite, j'ai utilisé https://wordpress.org/plugins/one-click-child-theme/ pour créer un nouveau thème enfant de Salient.

Ensuite, dans le menu Apparence> Editeur , j’ai visualisé le fichier functions.php et constaté qu’il avait été prégénéré add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); et function theme_enqueue_styles() pour moi.

J'ai donc simplement enveloppé le contenu de la fonction dans if ( !is_page_template( 'rawHtmlPage.php' ) ) { ...}.

1
Ryan

Vous pouvez supprimer des styles et des scripts Java spécifiques à un modèle de page spécifique, comme indiqué ci-dessous. Ajoutez le code dans le fichier functions.php de votre thème actuel. Pour voir la liste de tous les fichiers JS et CSS, vous pouvez utiliser un plugin comme celui-ci: https://wordpress.org/plugins/debug-bar-list-dependencies/

/**
 * Remove specific Java scripts.
 */
function se_remove_script() {
    if ( is_page_template( 'blankPage.php' ) ) {
        wp_dequeue_script( 'some-js' );
        wp_dequeue_script( 'some-other-js' );
    }
}

add_action( 'wp_print_scripts', 'se_remove_script', 99 );

/**
 * Remove specific style sheets.
 */
function se_remove_styles() {
    if ( is_page_template( 'blankPage.php' ) ) {
        wp_dequeue_style( 'some-style' );
        wp_dequeue_style( 'some-other-style' );
    }
}

add_action( 'wp_print_styles', 'se_remove_styles', 99 );

Vous pouvez supprimer tous les styles et les scripts Java en une fois pour un modèle de page spécifique, comme indiqué ci-dessous. Ajoutez le code dans le fichier functions.php de votre thème actuel.

/**
 * Remove all Java scripts.
 */
function se_remove_all_scripts() {
    global $wp_scripts;
    if ( is_page_template( 'blankPage.php' ) ) {
        $wp_scripts->queue = array();
    }
}

add_action( 'wp_print_scripts', 'se_remove_all_scripts', 99 );

/**
 * Remove all style sheets.
 */
function se_remove_all_styles() {
    global $wp_styles;
    if ( is_page_template( 'blankPage.php' ) ) {
        $wp_styles->queue = array();
    }
}

add_action( 'wp_print_styles', 'se_remove_all_styles', 99 );
8
Subharanjan