post_content, 'es-ajax-search')) { wp_enqueue_style('es-ajax-search', get_stylesheet_directory_uri() . '/css/ajax-search.css', [], filemtime(get_stylesheet_directory() . '/css/ajax-search.css')); wp_enqueue_script('es-ajax-search', get_stylesheet_directory_uri() . '/js/ajax-search.js', [], filemtime(get_stylesheet_directory() . '/js/ajax-search.js'), true); wp_localize_script('es-ajax-search', 'esAjaxSearch', ['ajaxUrl' => admin_url('admin-ajax.php')]); } } add_action('wp_enqueue_scripts', __NAMESPACE__ . '\shortcode_scripts'); function ajax_search() { ob_start(); if (strlen($_POST['keyword']) > 0) { $the_query = new \WP_Query( array( 'posts_per_page' => 20, 'post_status' => 'publish', 's' => esc_attr($_POST['keyword']), 'no_found_rows' => true //'post_type' => 'post' ) ); if ($the_query->have_posts()) : foreach ($the_query->posts as $res) { echo '
  • ' . get_the_post_thumbnail($res->ID, 'post-thumbnail') . '
    ' . $res->post_title . ' - ' . wp_trim_words($res->post_content, 10) . '
  • '; } else : echo '
  • No results
  • '; endif; } $result = ob_get_clean(); wp_send_json([ 'posts' => $result, 'count' => count($the_query->posts) ]); } add_action('wp_ajax_ajax_search', __NAMESPACE__ . '\ajax_search'); add_action('wp_ajax_nopriv_ajax_search', __NAMESPACE__ . '\ajax_search');