jQuery el código no se dispara en la página a pesar de registrarse y poner en cola los scripts

2

Quiero ejecutar este código jQuery que nombré service.js que puse en la carpeta js de mi tema:

jQuery( document ).ready(function(){
jQuery("#tues").click(function(){
    jQuery(".servicecontent").fadeOut(800).hide();
    jQuery(".servicecontent3").fadeOut(800).hide();
    jQuery(".servicecontent2").fadeIn(800).show();
    jQuery(this).fadeIn(800).addClass("active");
    jQuery("#sunday").removeClass("active").addClass("day");
    jQuery("#wed").removeClass("active").addClass("day");
    });
jQuery("#wed").click(function(){
    jQuery(".servicecontent").fadeOut(800).hide();
    jQuery(".servicecontent2").fadeOut(800).hide();
    jQuery(".servicecontent3").fadeIn(800).show();
    jQuery(this).fadeIn(800).addClass("active");
    jQuery("#sunday").removeClass("active").addClass("day");
    jQuery("#tues").removeClass("active").addClass("day");
    });
jQuery("#sunday").click(function(){
    jQuery(".servicecontent2").fadeOut(800).hide();
    jQuery(".servicecontent3").fadeOut(800).hide();
    jQuery(".servicecontent").fadeIn(800).show();
    jQuery(this).fadeIn(800).addClass("active");
    jQuery("#wed").removeClass("active").addClass("day");
    jQuery("#tues").removeClass("active").addClass("day");
    });
})( jQuery );

Lo coloqué en mi carpeta functions.php como tal:

$handle = 'NLBBC_styles';
wp_register_style( $handle, get_stylesheet_directory_uri().'/NLBBC_styles.css', array(), true );
wp_register_script('service', get_template_directory_uri() . '/js/service.js', array( 'jquery' ), true );
 if ( is_page_template( 'page-home.php' ) ) {
    wp_enqueue_style( $handle );
    wp_enqueue_script( 'service' );
}

Ignorar las líneas de la hoja de estilo

Esto no se activará por alguna razón en la página. ¿Qué diablos está mal aquí?

Tal vez me esté perdiendo algo, pero ¿es correcto aquí?

¿Debo cancelar mi registro y luego registrar el CDN de Google de la biblioteca jQuery?

    
pregunta Ethan 08.11.2016 - 02:47

1 respuesta

4

wp_enqueue_script() y wp_enqueue_style() debe llamarse dentro de una función adjunta a wp_enqueue_scripts acción:

// Register scripts and styles. They can be optionally enqueued later on.
add_action( 'wp_loaded', 'wpse245419_register_scripts' );
function wpse245419_register_scripts() {
    wp_register_style( 'NLBBC_styles', get_stylesheet_directory_uri() . '/NLBBC_styles.css', array(), true );
    wp_register_script( 'service', get_template_directory_uri() . '/js/service.js', array( 'jquery' ), true );
}

// Enqueue scripts and styles.
add_action( 'wp_enqueue_scripts', 'wpse245419_enqueue_scripts' );
function wpse245419_enqueue_scripts() {
    // Only enqueue scripts and styles when the page-home.php template is used.
    if ( is_page_template( 'page-home.php' ) ) {
        wp_enqueue_style( 'NLBBC_styles');
        wp_enqueue_script( 'service' );
    }
}
    
respondido por el Dave Romsey 08.11.2016 - 02:54

Lea otras preguntas en las etiquetas