Having finally being able to make an AJAX driven live search functional, I need help understanding how to add an else
argument function so that when there are no posts matching the search query, the search box will display "No results found" or whatever text I choose.
This is the code I have whereof the else
argument before the endif
crashes the site.
add_action('wp_ajax_data_fetch' , 'data_fetch');
add_action('wp_ajax_nopriv_data_fetch', 'data_fetch');
function data_fetch() {
$post_search_query = new WP_Query(array('posts_per_page' => -1, 's' => esc_attr($_POST['search_keyword']), 'post_type' => 'post'));
if ($post_search_query->have_posts()) :
while ($post_search_query->have_posts()): $post_search_query->the_post(); ?>
<h5><a href="<?php echo esc_url( post_permalink() ); ?>"><?php the_title();?></a></h5>
<span class="live-search-post-excerpt"><?php the_excerpt(); ?></span>
<?php endwhile;
wp_reset_postdata();
else {
echo 'No results found';
}
endif;
die();
}