Rimuovere gli stili CSS da una pagina specifica

16 feb 2016, 23:07:44
Visualizzazioni: 14.5K
Voti: 3

Ho bisogno di rimuovere tutti gli stili del tema (sia del tema genitore che figlio) da una singola pagina utilizzando functions.php in un child theme. Ecco cosa sto attualmente aggiungendo al functions.php del child theme:

// importa gli stili CSS del tema genitore e figlio
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));}

// rimuove gli stili CSS del genitore e figlio  
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' );

Vorrei applicare questa funzione PREFIX_remove_scripts solo a una pagina specifica del sito. Qual è il modo migliore per farlo? O esiste un altro metodo adatto? Grazie mille in anticipo!

2
Commenti

utilizzando functions.php puoi verificare se la pagina è quella per cui vuoi disabilitare il css OPPURE puoi configurare una pagina php personalizzata ed escludere i fogli di stile

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

Creare una pagina php personalizzata sarebbe più efficiente che usare functions.php?

Ben Wright Ben Wright
17 feb 2016 19:30:36
Tutte le risposte alla domanda 2
0

Puoi utilizzare i tag condizionali per indirizzare la pagina specifica su cui desideri rimuovere gli stili. Puoi usare is_page() per indirizzare una pagina di tipo page (in contrasto con altri tipi di post) e passare un ID di pagina, slug, titolo o nessun argomento per indirizzare qualsiasi pagina.

function wpse_217881_remove_scripts() {

    // Controlla la pagina che vuoi indirizzare
    if ( is_page( 'About Me And Joe' ) ) {

        // Rimuovi gli stili
        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' );
    }
}

Presumo che tu lo stia già facendo, ma per essere esplicito, dovresti chiamare la funzione che rimuove/deregistra gli stili da un action hook - in questo caso wp_enqueue_scripts.

Dalla documentazione di wp_enqueue_scripts:

Nonostante il nome, viene utilizzato per accodare sia script che stili

add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts' );

// Opzionalmente aggiungi una priorità se necessario, ad esempio:
// add_action( 'wp_enqueue_scripts', 'wpse_217881_remove_scripts', 20 );
17 feb 2016 01:37:14
1

La soluzione migliore per me è stata creare un template con intestazione diversa o senza intestazione.

17 giu 2022 19:15:08
Commenti

La tua risposta potrebbe essere migliorata con ulteriori informazioni di supporto. Per favore [modifica] per aggiungere maggiori dettagli, come citazioni o documentazione, in modo che altri possano confermare che la tua risposta è corretta. Puoi trovare maggiori informazioni su come scrivere buone risposte nel centro assistenza.

User User
22 giu 2022 17:31:13