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

3 năm trước, Code theme wordpress, 1909 Lượt xem1909 Lượt xem

Hôm nay! tranh thủ làm lại cái page tìm kiếm tranh thủ viết thêm bài mới cho mọi người ạ!

  • Bước 1: Tạo trang search.php ngang hàng với thư mục trong website của bạn
  • Code cho trang search.php
  • code css

Bước 1: Tạo trang search.php ngang hàng với thư mục trong website của bạnsearch.php ngang hàng với thư mục trong website của bạn

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

Code cho trang search.phpsearch.php

Từ khóa bạn tìm không thấy vui lòng thử lại.

code css

code css

input#s {
    width: 83%;
    height: auto;
    margin: 10px 0px;
}

@media screen and (max-width: 950px)
{
	input#s {
    width: 71%;
    height: auto;
    margin: 10px 0px;
}
}


button.tim-tintuc {
    background: #4285f4;
    color: #fff;
    font-size: 16px;
    padding: 6px 20px;
    font-weight: bold;
}

Code form tìm kiếm

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

    Bài viết mới cập nhập

    Quản lý mẫu web phòng khám191 Lượt xem

    4 tháng trước, 191 Lượt xem

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

    Xin chào tất cả các khách hàng dùng mẫu web công ty bên netweb, sau đây netweb.vn xin hướng dẫn các bạn quản lý mẫu…

    Sửa lỗi Error: MySQL shutdown unexpectedly – tắt Mysql xampp không đúng cách235 Lượt xem

    5 tháng trước, 235 Lượt xem

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

    Chào các bạn hôm nay netweb.vn sẽ hướng dẫn các bạn dùng xampp khi bị lỗi Error: MySQL shutdown unexpectedly di tắt mysql không đúng…

    Quản lý mẫu web công ty202 Lượt xem

    4 tháng trước, 191 Lượt xem

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

    Xin chào tất cả các khách hàng dùng mẫu web công ty bên netweb, sau đây netweb.vn xin hướng dẫn các bạn quản lý mẫu…

    Sửa lỗi Error: MySQL shutdown unexpectedly – tắt Mysql xampp không đúng cách432 Lượt xem

    5 tháng trước, 235 Lượt xem

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

    Chào các bạn hôm nay netweb.vn sẽ hướng dẫn các bạn dùng xampp khi bị lỗi Error: MySQL shutdown unexpectedly di tắt mysql không đúng…

    Quản lý mẫu web công ty195 Lượt xem

    7 tháng trước, 202 Lượt xem

Tiếp tục seri về search trong wordpress hôm nay mình sẽ hướng dẫn cho bạn một chức năng mới và được rất nhiều người yêu cầu đó là bộ search cha con trong wordpress.search cha con trong wordpress.

Phong cách search này rất được nhiều người sử dụng để làm trong các site bất động sản ví dụ như chọn Tỉnh thành phố => show các huyện của tỉnh đó. Hay là chọn huyện => show ra xã phường…

Chuẩn bị dữ liệu và phân tích bài toán

Mình sẽ sử dụng taxonomy để tạo ra danh mục gồm các quận huyện ở Đà Nẵng, trong quận huyện đó sẽ có các xã và phường nhé. Để biết cách tạo taxonomy các bạn xem vài viết: Tạo taxonomy trong wordpress

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

Mình sẽ tạo là một taxomony là khu-vuc có các Quận/Huyện trong Quận/Huyện thì là có các Xã/Phường. Chúng ta sẽ làm chức năng chọ quận huyện sẽ show ra xã phường 😀khu-vuc có các Quận/Huyện trong Quận/Huyện thì là có các Xã/Phường. Chúng ta sẽ làm chức năng chọ quận huyện sẽ show ra xã phường 😀

Tạo form search cha con trong wordpress

Đây sẽ là pha xử lý đi vào lòng người kk

Tạo form search html

Các bạn dáng đoạn code html sau vào khu vực mà các bạn muốn hiện thì form search nha. Đây chỉ là code html thô chưa được css nên show ra ngoài giao diện sẽ không đẹp các bạn có thể css thêm để nó oke hơn nhé.

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

ChọnQuận/Huyệnform action="/"method="GET"role="form">

ChọnQuận/Huyệninput type="hidden"name="post_type"value="bat-dong-san">

ChọnQuận/Huyệndiv class="form-group">

ChọnQuận/Huyệnselect name="quan-huyen"id="quan-huyen"class="form-control"required="required">

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

ChọnQuận/Huyện$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>

ChọnQuận/Huyện}?>

ChọnQuận/Huyện/select>

ChọnQuận/Huyện/div>

ChọnQuận/Huyệndiv class="form-group">

ChọnQuận/Huyệnselect name="xa-phuong"id="xa-phuong"class="form-control">

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

ChọnQuận/Huyện/select>

ChọnQuận/Huyện/div>

ChọnQuận/Huyệndiv class="form-group">

ChọnQuận/Huyệninput type="text" name="s"id="keyword"class="form-control"placeholder="Từ khóa tìm kiếm..."autocomplete="off">

ChọnQuận/Huyện/div>

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

ChọnQuận/Huyện/form>

ChọnQuận/Huyện

  •     'hide_empty'=>0, => chỉ search với post type là bất động sản (value=”bat-dong-san”)
  •     'taxonomy'=>'khu-vuc', sử dụng thẻ select để cho phép chọn các Quận/Huyện (Chú ý trường‘parent’ => 0 đây là điều kiện để xác định chỉ lấy các quận huyện)
  •     'parent'=>0 dùng select để chọn Xã/Phường khi user chọn Quận huyện thì trường này mới show giá trị của xã phường tương ứng nên ngay lúc đầu sẽ không có giá trị ở trường này
  •     );

    $cates=get_categories($args);

    foreach($catesas$cate){  ?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

ChọnQuận/Huyệndiv style="display: none;">

ChọnQuận/Huyện$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){  ?>

ChọnQuận/Huyệndiv class="datakhuvuc"id="echo$cate->slug;?>">

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

ChọnQuận/Huyện$args2=array(

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

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

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

    'parent'=>0);

    );$cates2 =get_categories($args2);

    $cates=get_categories($args);foreach($cates2as$cate2){  ?>

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

ChọnQuận/Huyện} ?>

ChọnQuận/Huyện/div>

ChọnQuận/Huyện}?>

ChọnQuận/Huyện/div>

ChọnQuận/Huyệnview-source sẽ thấy đoạn html được sinh ra như sau:

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

    'hide_empty'=>0,

    'taxonomy'=>'khu-vuc',datakhuvuc, phía trong nó chứa dữ liệu option value đây là các giá trị con của từng thằng cha.  Việc tiếp theo là viết 1 đoạn jquery khi chọn thằng cha trong form thì dựa vào slug mà lấy dữ liệu tương ứng ở đây để đẩy vào thẻ select Xã/Phường.

    'parent'=>0jquery xử lý vấn đề này như sau: Các bạn chèn đoạn js vào footer.php, trên thẻ body đóng nha ()

ChọnQuận/Huyệnsrc="https://code.jquery.com/jquery-3.4.1.min.js">

ChọnQuận/Huyện

$('#quan-huyen').change(function(event){('#quan-huyen').change(function(event){

varid=$(this).val();id =$(this).val();

vardata=$('#'+id).html();data=$('#'+id).html();

$('select#xa-phuong').html(data);('select#xa-phuong').html(data);

ChọnQuận/Huyện);

ChọnQuận/Huyện

ChọnQuận/Huyện

    'hide_empty'=>0,

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

    'taxonomy'=>'khu-vuc',

    'parent'=>0search.php vì vậy chúng ta sẽ xử lý backend ở đây

    );domain.com/?post_type=bat-dong-san&quan-huyen=hai-chau&xa-phuong=binh-hien&s=nhà+đẹp

    $cates=get_categories($args);search.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

ChọnQuận/Huyện

ChọnQuận/Huyện=isset($_GET['post_type'])&& $_GET['post_type'] ? $_GET['post_type'] : 'post';

    'hide_empty'=>0,= isset($_GET['quan-huyen'])&& $_GET['quan-huyen'] ? $_GET['quan-huyen'] : '';

    'taxonomy'=>'khu-vuc',=isset($_GET['xa-phuong'])&& $_GET['xa-phuong'] ? $_GET['xa-phuong'] : $district;

    'parent'=>0=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

);;

?>

ChọnQuận/Huyện$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();?>

ChọnQuận/Huyệnp>the_title();?></p>

ChọnQuận/Huyệnendwhile;?>

ChọnQuận/Huyệnendif;?>

ChọnQuận/Huyệnwp_reset_query();?>

Giải thích code: 

  • Dòng 2 lấy post type nếu không truyền thì mặc định là post lấy post type nếu không truyền thì mặc định là post
  • Dòng 3 lấy quận huyện nếu không truyền sẽ lấy giá trị rỗng tương đương với seach tất cả các quận huyện lấy quận huyện nếu không truyền sẽ lấy giá trị rỗng tương đương với seach tất cả các quận huyện
  • Dòng 4 lấy khu vực đây là dữ liệu truyền vào để get bất động sản chính xác. Nếu không chọn xã phường thì mặc định nó sẽ lấy quận huyện, còn nếu chọn xã phương thì nó sẽ bỏ qua quận huyện và cho kết quả search chỉ ở xã phường đó thôi lấy khu vực đây là dữ liệu truyền vào để get bất động sản chính xác. Nếu không chọn xã phường thì mặc định nó sẽ lấy quận huyện, còn nếu chọn xã phương thì nó sẽ bỏ qua quận huyện và cho kết quả search chỉ ở xã phường đó thôi
  • Dòng 5 lấy từ khóa cần tìm kiếm lấy từ khóa cần tìm kiếm
  • Từ dòng 13 đến hết là đoạn xử lý query get post là đoạn xử lý query get post

Tổng kết:

Như vậy hôm nay mình đã hướng dẫn cho các bạn cách để search cha con trong wordpress. Đây là một chức năng khá cần thiết cho các site bất động sản…search cha con trong wordpress. Đây là một chức năng khá cần thiết cho các site bất động sản…

Nhưng nếu các bạn để ý sẽ thấy làm cách này chỉ thích hợp với nhưng dữ liệu vừa và nhỏ, những dữ liệu lớn và phần nhiều cấp thì dễ bị TOANG :)), vì thế mình sẽ cho ra một bài về chủ đề này nhưng sẽ dùng ajax trong wordpress để xử lý.

Nhớ like page và theo dõi blog huykira nhé. Ghé qua học wordpressnữa nha!học wordpressnữa nha!

Chào cả nhà!