WordPress Enqueue solo per la homepage, functions.php, wp-framework

15 lug 2011, 14:54:19
Visualizzazioni: 23.2K
Voti: 10

Vorrei sostituire il mio:

    if(is_home())
    {
        wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
        wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
    };

Che attualmente si trova in header.php, spostandolo invece nel file functions.php. Sto cercando di ordinare tutto in un sito del cliente che sta diventando disordinato. Sto utilizzando wp-framework e idealmente vorrei inserire questo all'interno della funzione enqueue_assets nella classe principale parent_theme. Anche se questo non è realmente un problema di wp-framework, vorrei solo sapere:

Come posso far funzionare is_home() da un file functions? C'è un'alternativa, usando le variabili globali, che devo conoscere?

0
Tutte le risposte alla domanda 1
2
26

Innanzitutto, se vuoi puntare alla Pagina Principale del sito, devi usare is_front_page(). Il condizionale is_home() restituisce vero quando viene visualizzato l'indice degli articoli del blog, che potrebbe o meno essere sulla Pagina Principale del sito.

In secondo luogo, devi agganciare la tua funzione a un hook appropriato, che in questo caso sembra essere wp_enqueue_scripts.

(Inoltre: cos'è get_theme_part()? È una funzione personalizzata in WP Framework?)

Ad esempio, puoi fare questo in functions.php:

function mytheme_enqueue_front_page_scripts() {
    if( is_front_page() )
    {
        wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
        wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
    }
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_front_page_scripts' );
15 lug 2011 15:07:14
Commenti

Chip, sei un mito. Grazie. (Sì, get_theme_part è una cosa del wp-framework. Giuro che la nuova release di wp-framework è fantastica. È incredibile)

mjjwatson mjjwatson
15 lug 2011 16:08:23

Oh, capisco. Quella funzione, seguendo le best practice, dovrebbe essere prefissata come wpf_get_theme_part() o qualcosa di simile. Ma ho controllato; è davvero una bella funzioncina.

Chip Bennett Chip Bennett
15 lug 2011 16:16:33