WordPress Enqueue solo per la homepage, functions.php, wp-framework
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?

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' );

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