NHANWEB

Thiết kế theme WP – phần 12: làm việc với Category & Search Form

Bạn đã học được rất nhiều thứ trong quá trình phát triển giao diện cho WordPress thông qua các bài viết trong chuỗi bài viết thiết kế giao diện WordPress. Hôm nay, chúng ta sẽ cùng nghiên cứu về category(danh mục) và form tìm kiếm.

Làm việc với Category

Trong WordPress, category được gọi thông qua hàm wp_list_categories(). Tuy nhiên hiện nay, với sự hỗ trợ của Menu, category ít được sử dụng tới và hầu như chỉ được sử dụng trong việc tạo archive hoặc thể hiện thêm các thông tin hỗ trợ trong trang 404 là chủ yếu. Vai trò của Category đã được giảm đi khá nhiều trong quá trình xây dựng giao diện của WordPress.

Để sử dụng categry bạn làm như sau:

[php] <?php wp_list_categories( $args ); ?>
[/php]

Thời điểm hiện nay, việc xuất ra danh sách category hầu như không còn cần thiết nhiều trên các trang chính vì lý do đã có menu hỗ trợ như đã nói ở trên. Tuy nhiên, việc tìm hiểu về category và cách sử dụng có thể giúp bạn học hỏi thêm nhiều điều điều để tùy biến khi xây dựng website của mình.

Dưới đây là một vài ví dụ về cách sử dụng hàm wp_list_categories() mà tôi lấy ở phần codex của WordPress.

Lọc giá trị categry

[php] <ul>
<?php wp_list_categories(‘orderby=name&include=3,5,9,16’); ?>
</ul>
[/php] Đoạn code trên đó sát nghĩa là: lấy danh sách category 3,5,9,16 và sắp xếp theo tên theo thứ tự tăng dần.

Bỏ qua một số category không mong muốn

[php] <ul>
<?php wp_list_categories(‘orderby=name&show_count=1&exclude=10’); ?>
</ul>
[/php]

Theo đoạn mã trên, chúng ta sẽ lấy hết category và bỏ đi category có ID = 10. Ngoài ra show_count=1 cho phép hiển thị thêm số lượng bài viết ở mỗi category.

Làm việc với Search Form

Form search được wordpress xây dựng sẵn và được gọi thông qua hàm get_search_form(). Cách sử dụng như sau:
[php] <?php get_search_form( $echo ); ?>
[/php]

Nếu bạn có một file searchform.php trong theme, hệ thống sẽ tự động gọi file này khi được gọi get_search_form(), nếu không search form sẽ được xây dựng dựa vào cấu trúc định sẵn của wordpress. Ngoài ra, bạn có thể xây dựng một search form riêng dựa vào search form của wordpress bằng cách overide lại cấu trúc.

[php] function my_search_form( $form ) {
$form = ‘<form role="search" method="get" id="searchform" action="’ . home_url( ‘/’ ) . ‘" >
<div><label class="screen-reader-text" for="s">’ . __(‘Search for:’) . ‘</label>
<input type="text" value="’ . get_search_query() . ‘" name="s" id="s" />
<input type="submit" id="searchsubmit" value="’. esc_attr__(‘Search’) .’" />
</div>
</form>’;
return $form;
}
add_filter( ‘get_search_form’, ‘my_search_form’ ); [/php] Đoạn mã trên được đặt vào functions.php của theme để overide lại hàm search form như đã nói ở trên.

Còn kết quả tìm kiếm, chúng ta sẽ hiển thị ở trang search.php nhé.

Exit mobile version