Femi is suitable, but if your goal is to work with WP_Query data inside a JS file, I would suggest checking the wp_localize_script function.
/** * WP_Query as JSON */ function kevinlearynet_scripts() { // custom query $posts = new WP_Query( array( 'category__in' => 4, 'meta_key' => 'meta_long', ) ); // to json $json = json_decode( json_encode( $posts ), true ); // enqueue our external JS wp_enqueue_script( 'main-js', plugins_url( 'assets/main.min.js', __FILE__ ), array( 'jquery' ) ); // make json accesible within enqueued JS wp_localize_script( 'main-js', 'customQuery', $json ); } add_action( 'wp_enqueue_scripts', 'kevinlearynet_scripts' );
This will create a window.customQuery object in main.min.js
source share