2

In my Wordpress plugin I try to include two scripts in the page footer, like so:

function my_interface_enqueues() {
        wp_enqueue_script( 'require-js', plugin_dir_url( __FILE__ ) . 'js/libs/requirejs/require.js', array(), false, true );
        wp_enqueue_script( 'main-js', plugin_dir_url( __FILE__ ) . 'js/main.js', array(), false, true );
    }

Yet when I check the rendered page, the scripts are inside the <head>, despite the 5th parameter being set true. What could cause this?

Wordpress version is 4.7.3

1 Answer 1

1

Use the approach below to enqueue your scripts using a single action hook:

/**
 * Proper way to enqueue scripts.
 * The same approach can be used to enqueue styles.
 */
function my_interface_enqueues() {
    wp_enqueue_script( 'require-js', plugin_dir_url( __FILE__ ) . 'js/libs/requirejs/require.js', array(), '1.0.0', true );
    wp_enqueue_script( 'main-js', plugin_dir_url( __FILE__ ) . 'js/main.js', array(), '1.0.0', true );

    // Here, a sample stylesheet enqueued.
    wp_enqueue_style( 'style-name', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'my_interface_enqueues' );

That should definitely work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.