WordPress Enqueue solo para página de inicio, functions.php, wp-framework

15 jul 2011, 14:54:19
Vistas: 23.2K
Votos: 10

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?

0
Todas las respuestas a la pregunta 1
2
26

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' );
15 jul 2011 15:07:14
Comentarios

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)

mjjwatson mjjwatson
15 jul 2011 16:08:23

Ah, perfecto entonces. Esa función debería, según las mejores prácticas, tener el prefijo wpf_get_theme_part() o algo similar. Pero, lo busqué; es una función pequeña muy buena.

Chip Bennett Chip Bennett
15 jul 2011 16:16:33