Cum să elimini toate stilurile pentru un anumit șablon de pagină?
Știu cum să creez teme copil și șabloane de pagini. Am o temă copil a Salient numită Salient-Child și un șablon de pagină numit blankPage.php.
Pentru toate paginile care folosesc acest șablon, doresc să nu se încarce niciun fel de CSS.
Cunosc funcțiile wp_register_script, wp_deregister_script, wp_deregister_style, wp_dequeue_style
, etc., dar nu sunt sigur unde/cum să le folosesc.
Am încercat să scriu unele dintre aceste funcții direct în blankPage.php și am încercat și să modific functions.php. Am încercat să folosesc o condiție cu if(is_page_template('blankPage.php')){...}
.
Orice îndrumare ar fi apreciată.
Mulțumesc!

Puteți elimina stiluri specifice și scripturi Java pentru un șablon de pagină specific, ca în exemplul de mai jos. Adăugați codul în fișierul functions.php
al temei actuale. Pentru a vedea lista tuturor fișierelor JS și CSS, puteți utiliza un plugin precum acesta: https://wordpress.org/plugins/debug-bar-list-dependencies/
/**
* Elimină scripturi Java specifice.
*/
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 );
/**
* Elimină fișiere de stiluri specifice.
*/
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 );
Puteți elimina toate stilurile și scripturile Java dintr-o singură mișcare pentru un șablon de pagină specific, ca în exemplul de mai jos. Adăugați codul în fișierul functions.php
al temei actuale.
/**
* Elimină toate scripturile Java.
*/
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 );
/**
* Elimină toate fișierele de stiluri.
*/
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 );

Funcția ta se_remove_all_styles
pare să fie pe drumul cel bun pentru ceea ce îmi doresc, dar când am încercat-o, a eliminat toate stilurile de pe TOATE paginile, indiferent de template. Nu înțeleg de ce, având în vedere că există o condiție "If". Ai vreo idee cum aș putea depana de ce se întâmplă asta în cazul meu? Mulțumesc!

Pare că am rezolvat problema, iar soluția a fost atât de simplă încât sunt șocat că nu am văzut-o menționată de nimeni până acum.
În primul rând, am șters întregul fișier de temă copil (child theme) pentru a putea începe de la zero.
Apoi, am folosit https://wordpress.org/plugins/one-click-child-theme/ pentru a crea o nouă temă copil pentru Salient.
Apoi, în meniul Apariție > Editor, am vizualizat fișierul functions.php
și am observat că acesta a generat automat add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
și function theme_enqueue_styles()
pentru mine.
Așadar, pur și simplu am încapsulat conținutul funcției într-un if ( !is_page_template( 'rawHtmlPage.php' ) ) { ...}
.
