WordPress Enqueue solo para página de inicio, functions.php, wp-framework
Me gustaría reemplazar mi:
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 );
};
Que actualmente está en header.php, colocándolo en el archivo functions.php en su lugar. Estoy tratando de ordenar todo en el sitio de un cliente que se ha vuelto muy extenso. Estoy usando wp-framework y lo ideal sería colocar esto dentro de la función enqueue_assets en la clase parent_theme principal. Aunque esto no es realmente un problema de wp-framework, solo me gustaría saber:
¿Cómo puedo hacer que is_home() funcione desde un archivo functions? ¿Hay alguna alternativa, usando variables globales, que necesite conocer?

Primero, si deseas apuntar a la Página de Inicio del sitio, necesitas usar is_front_page()
. El condicional is_home()
devuelve verdadero cuando se muestra el índice de publicaciones del blog, que puede o no estar en la Página de Inicio del sitio.
Segundo, necesitas enganchar tu función a un hook apropiado, que en este caso parece ser wp_enqueue_scripts
.
(También: ¿qué es get_theme_part()
? ¿Es una función personalizada en WP Framework?)
Por ejemplo, puedes hacer esto en 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, eres una estrella. Gracias. (Sí, get_theme_part es una cosa de wp-framework. Juro por el nuevo lanzamiento de wp-framework. Es increíble)
