Подход Femi великолепен, но если ваша цель - работать с данными WP_Query внутри файла JS, тогда я бы предложил проверить функцию wp_localize_script
.
/**
* 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' );
Это создаст1005 * объект в main.min.js
.