WordPress 3.3 – Simple Ajax Search

Voi arata un exemplu scurt cum se poate face un ajax search in WordPress 3. In primul rand vom avea nevoie de un formular, un div pentru lista de rezultate, pentru ajax folosim jquery iar pentru interogare baza de date voi folosi clasa WP_Query.

1. Creeaza un formular.

Voi folosi doar un input text simplu si introduc partea de javascript (jquery).

<div id=’ajax-search’>
<input type=’text’ name=’s’ id=’s’ />
</div>

<div id=’results’>
Aici va aparea lista de rezultate
</div>

<script>

$.ajax({
‘type’ :’post’,
‘url’ : ‘my_ajax_url’,
‘data’ : ‘s=’ + $(‘#s’).val(),
success: function (result) {
$(‘results’).html(result);
}

})

</script>

2. Cream partea de interogare.

Url-ul pentru aceasta pagina trebuie sa fie ‘my_ajax_url’ ce am definit in codul de mai sus. Iar pentru a cauta dupa titlu voi aplica filtrul posts_where .

<?php

$str = $_GET[‘s’];

 

function filter_where( $where = ” ) {

global $str;

$where .= ” AND post_title LIKE ‘”.$str.”%’ ” ;

return $where;

}

add_filter(‘posts_where’, ‘filter_where’);

$ajax_query = new WP_Query();

remove_filter(‘posts_where’, ‘filter_where’);

while ( $ajax_query->have_posts() ) : $ajax_query->the_post();

the_title();

echo ‘<br/>’;

endwhile;

wp_reset_postdata();

?>

 

Anunțuri

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s