Cum să elimini stilurile CSS de pe o anumită pagină în WordPress

16 feb. 2016, 23:07:44
Vizualizări: 14.5K
Voturi: 3

Am nevoie să elimin toate stilurile CSS ale temei (atât părinte cât și copil) de pe o singură pagină folosind functions.php într-o temă copil. Iată ce am adăugat în prezent în functions.php al temei copil:

// importă stilurile CSS ale temei părinte și copil
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));
}

// elimină stilurile CSS părinte și copil
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');

Doresc să aplic această funcție PREFIX_remove_scripts doar pe o singură pagină a site-ului. Cum pot realiza acest lucru în cel mai bun mod? Sau există o altă metodă potrivită? Mulțumesc anticipat!

2
Comentarii

folosind functions.php poți verifica dacă ID-ul paginii este cel pentru care dorești să dezactivezi CSS-ul SAU poți configura o pagină PHP personalizată și să excludi fișierele de stiluri

Lucky Chingi Lucky Chingi
16 feb. 2016 23:11:41

Ar fi mai eficient să creezi o pagină PHP personalizată decât să folosești functions.php?

Ben Wright Ben Wright
17 feb. 2016 19:30:36
Toate răspunsurile la întrebare 2
0

Puteți folosi etichete condiționale pentru a vizualiza pagina specifică pe care trebuie să eliminați stilurile. Puteți utiliza is_page() pentru a vizualiza o pagină de tip page (spre deosebire de alte tipuri de postări) și puteți pasa un ID de pagină, slug, titlu sau niciun argument pentru a vizualiza orice pagină.

function wpse_217881_remove_scripts() {

    // Verifică pagina pe care dorești să o ții în evidență
    if ( is_page( 'Despre Mine Și Joe' ) ) {

        // Elimină Stilurile
        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' );
    }
}

Presupun că deja o faci, dar pentru a fi clar, ar trebui să apelezi funcția care elimină/deregistrează stilurile dintr-un cârlig de acțiune - în acest caz wp_enqueue_scripts.

Din documentația wp_enqueue_scripts:

În ciuda numelui, este folosit pentru încărcarea atât a scripturilor, cât și a stilurilor

add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts' );

// Opțional, poți adăuga o prioritate dacă este necesar, de exemplu:
// add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts', 20 );
17 feb. 2016 01:37:14
1

Cea mai bună soluție pentru mine a fost să creez un șablon cu head diferit sau fără head.

17 iun. 2022 19:15:08
Comentarii

Răspunsul tău ar putea fi îmbunătățit cu informații suplimentare de susținere. Te rog să [editezi] pentru a adăuga detalii suplimentare, cum ar fi citate sau documentație, astfel încât alții să poată confirma că răspunsul tău este corect. Poți găsi mai multe informații despre cum să scrii răspunsuri bune în centrul de ajutor.

User User
22 iun. 2022 17:31:13