Hướng dẫn ajax search wordpress code - ajax tìm kiếm mã wordpress

Ở bài hôm trước mình đã hướng dẫn cho các bạn search cha con trong wordpress theo các thông thường. Nhưng cách đó chỉ phù hợp cho các website có dữ liệu nhỏ và vừa, các website dữ liệu lớn và phần cấp sâu thì dễ bị TOANG 😀

Vì thế hôm nay mình sẽ hướng dẫn cho các bạn cách cũng search cha con nhưng sẽ dùng ajax.

Hướng dẫn ajax search wordpress code - ajax tìm kiếm mã wordpress

Tạo form search cha con html

Cũng giống như bài trước cấu trúc form ở bài này cũng giống hoàn toàn. Mình sẽ copy lại để các bạn dễ theo dõi nha.

Các bạn copy đoạn code này vào khu vực cần hiển thị form search nha. Đoạn code trên chỉ mới là html chưa có giao diện các bạn về thêm css vào để cho giao diện phù hợp nha.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<form action="/"method="GET"role="form">

<input type="hidden"name="post_type"value="bat-dong-san">

<div class="form-group">

<select name="quan-huyen"id="quan-huyen"class="form-control"required="required">

ChọnQuận/Huyệnoption value="">Chn Qun/Huyn</option>

$args=array(

ChọnQuận/Huyện'hide_empty'=>0,

    'hide_empty'=>0,'taxonomy' =>'khu-vuc',

    'taxonomy'=>'khu-vuc','parent'=>0

    'parent'=>0);

    );$cates=get_categories($args);

    $cates=get_categories($args);foreach($catesas$cate){  ?>

name;?>option value="echo$cate->slug; ?>">echo$cate->name;?></option>

}?>

</select>

</div>

<div class="form-group">

<select name="xa-phuong"id="xa-phuong"class="form-control">

ChọnQuận/Huyệnoption value="">Chn Xã/Phường</option>

</select>

</div>

<div class="form-group">

<input type="text" name="s"id="keyword"class="form-control"placeholder="Từ khóa tìm kiếm..."autocomplete="off">

</div>

ChọnQuận/Huyệnbutton type="submit" class="btn btn-primary">Tìmkiếm</button>

</form>

ChọnQuận/Huyện

    'hide_empty'=>0,ajax trong wordpress sẽ biết để sử dụng ajax chúng ta cần phải xử lý 2 phần: Phần front endphần backend

    'taxonomy'=>'khu-vuc',

    'parent'=>0ooter.php của theme đang dùng nha.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

.fail(function(){fail(function(){

console.log("error");.log("error");

    'hide_empty'=>0,)

.always(function(){always(function(){

    'taxonomy'=>'khu-vuc',);

    'taxonomy'=>'khu-vuc',);

ChọnQuận/Huyện

    'hide_empty'=>0,

    'taxonomy'=>'khu-vuc',

    'parent'=>0

    );functions.php của theme đang sử dung nha.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

add_action('wp_ajax_showChild','showCateFunc');('wp_ajax_showChild','showCateFunc');

add_action('wp_ajax_nopriv_showChild','showCateFunc');('wp_ajax_nopriv_showChild','showCateFunc');

functionshowCateFunc(){showCateFunc(){

    $cates=get_categories($args);(isset($_POST['slug'])&& $_POST['slug']){

    foreach($catesas$cate){  ?>

$parent=get_term_by('slug',$slug,'khu-vuc');=get_term_by('slug',$slug,'khu-vuc');

$args=array(=array(

ChọnQuận/Huyện'hide_empty'=>0,

    'hide_empty'=>0,'taxonomy'=>'khu-vuc',

    'taxonomy'=>'khu-vuc','parent'=> $parent->term_id

    'parent'=>0);

    );$cates=get_categories($args);

    $cates=get_categories($args);echo'';

    $cates=get_categories($args);foreach($catesas$cate){  ?>

name;?>option value="echo$cate->slug; ?>">echo$cate->name;?></option>

}

}else{else{

    foreach($catesas$cate){  ?>'';

ChọnXã/Phường

die();();

ChọnXã/Phường

Tìmkiếm

Code chức năng chọn thằng cha show thằng con bằng ajax

Nếu các bạn có đọc qua bài viết ajax trong wordpress sẽ biết để sử dụng ajax chúng ta cần phải xử lý 2 phần: Phần front end và phần backend

Xử lý phần frontend jquery

Chèn đoạn code này vào file footer.php của theme đang dùng nha.search.php của theme đang dùng nha.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

},=isset($_GET['post_type'])&& $_GET['post_type'] ? $_GET['post_type'] : 'post';

})= isset($_GET['quan-huyen'])&& $_GET['quan-huyen'] ? $_GET['quan-huyen'] : '';

});=isset($_GET['xa-phuong'])&& $_GET['xa-phuong'] ? $_GET['xa-phuong'] : $district;

Đoạn code trên chúng ta bắt sự kiện khi thay đổi Quận/Huyện thì sẽ gọi 1 cái ajax gởi lên phía backend 2 nội dung đó là: action và slug=isset($_GET['s'])&& $_GET['s'] ? $_GET['s'] : '';

$args=array(=array(

'showposts'=>10,=>10,

'post_type'=>$post_type, =>$post_type,

's'=>$key,=>$key,

'khu-vuc'=>$location=>$location

Sau đó nhận dữ liệu data về add vào select Xã/Phường.;

Lưu ý: Bạn nào trong dự án có chứa khai báo jquery rồi thì xóa dòng đầu tiên đi nha

$the_query=new WP_Query($args);?>

have_posts()):?>if($the_query->have_posts()):?>

have_posts()):$the_query->the_post();?>while( $the_query->have_posts()):$the_query->the_post();?>

<p>the_title();?></p>

endwhile;?>

endif;?>

wp_reset_query();?>

Xử lý phần backend search cha con

Các bạn chèn đoạn code sau vào file functions.php của theme đang sử dung nha.

if(isset($_POST['slug'])&& $_POST['slug']){

$slug = $_POST['slug'];