Khôi Phục Mật Khẩu

Vui lòng liên hệ với Quản trị viên để được hỗ trợ reset lại mật khẩu tài khoản của bạn.

Zalo Admin
0358949680
Nhắn Zalo
Hoặc
Quên mật khẩu ?
Tạo tài khoản để truy cập đầy đủ tính năng!
Hoặc
Trang chủ / Blog / Hướng dẫn lấy danh mục trong wordpress (Get category)
Huy Kira
Huy Kira · Theo dõi

Hướng dẫn lấy danh mục trong wordpress (Get category)

Tiếp tục với loại bài hướng dẫn lập trình wordpress cho người mới bắt đầu, hôm nay mình xin giới thiệu cách lấy danh mục trong wordpress hay còn gọi là get category.

Nếu bạn nào chú ý thì khi vào web mình sẽ thấy phần danh mục (Chuyên mục ) được mình bố trí bên phải tay phải. Mình đã sử dụng hàm get_categories() để làm được điều đó. Bài này chúng ta sẽ tìm hiểu cách sử dụng hàm  get_categories().

lay-danh-muc-trong-wordpress

Lấy danh mục trong wordpress

Cú pháp để lấy danh mục trong wordpress:

<?php
$args = array(
    'type'      => 'post',
    'child_of'  => 0,
    'parent'    => ''
);
$categories = get_categories( $args );
foreach ( $categories as $category ) { ?>
     <?php ehco $category->name ; ?>
<?php } ?>

Giải thích:

Đầu tiên chúng ta khai báo 1 biến $args là 1 mảng dữ liệu chứa các thành phần là các điều kiện để lấy danh mục. Tiếp theo chúng ta gán biến $categories=get_categories( $args ) lúc này những điều kiện $args đã được truyền vào hàm get category để xử lý và trả về  biến $categories là một giá trị và giá trị có kiểu mảng.

Để lấy dữ liệu có kiểu mảng chúng ta sử dụng vòng lặp foreach để lấy như trong php thông thường.

Các điều kiện lấy danh mục trong worpress:

<?php 

$args = array(
	'type'                     => 'post',
	'child_of'                 => 0,
	'parent'                   => '',
	'orderby'                  => 'name',
	'order'                    => 'ASC',
	'hide_empty'               => 1,
	'hierarchical'             => 1,
	'exclude'                  => '',
	'include'                  => '',
	'number'                   => '',
	'taxonomy'                 => 'category',
	'pad_counts'               => false 

); 

?>

Trong đó: 

  • ‘type’ là kiểu bài viết khi cài wordpress ban đầu thi sẽ có 2 kiểu đó là ‘post’ và ‘page’. Mặt nếu ko sử dụng điều kiện này thì nó sẽ nhận giá trị là ‘post’.
  • ‘child_of’ sẽ nhận 2 giá trị là 1 hoặc 0, Nếu nhận giá trị là 1 thì nó chỉ lấy các danh mục có danh mục con. Nếu nó nhận giá trị là 0 thì nó sẽ lấy tất cả danh mục. Mặt định nó nhận giá trị là 0.
  • ‘parent’ Sẽ nhận giá trị là id cha, Khi điền id cha vô đây nó sẽ list hết danh sách các chuyên mục con của parent.
  • ‘orderby’ Giá trị này nó nghĩ là sắp xếp theo, giá trị nhận có thể là : id, name, slug, count, term_group. Mặc định nó sẽ nhận giá trị là name.
  • ‘order’ Sẽ nhận 2 giá trị là: ASC hoặc DESC có nghĩ là sắp sếp theo giảm dân hoặc tăng dần. Mặt định nó là ASC.
  • ‘hide_empty’  Sẽ nhận 2 giá trị là 1 hoặc 0, Nếu nhận giá trị 1 là nó sẽ không hiển thị các danh mục mà chưa có bài viết.
  • hierarchical‘ Có hiện thị danh mục theo dạng cây hay ko. Nếu có điền giá trị 1, nếu không thì giá trị 0
  • ‘exclude’ Giá trị nhận ở đây là 1 mảng các id không muốn hiện thị trong chuyên mục.
  • ‘include’ Giá trị nhận là 1 mảng id sẽ xuất hiện trong chuyên mục
  • ‘number’ Số lượng danh mục muốn hiển thị.
  •  ‘pad_counts’

Các giá trị trả về

$category->term_id
$category->name
$category->slug
$category->term_group
$category->term_taxonomy_id
$category->taxonomy
$category->description
$category->parent
$category->count
$category->cat_ID
$category->category_count
$category->category_description
$category->cat_name
$category->category_nicename
$category->category_parent

Đó là các giá trị trả về khi chúng ta sử dụng hàm get_category(), tùy trường hợp sử dụng mà chúng ta lấy các giá trị trả về phù hợp.

ví dụ như:

  • $category->term_id // Lấy id chuyên mục
  • $category->name // lấy tên chuyên dụng
  • $category->slug // Lấy đường dẫn chuyên mục
  • $category->description // Lấy phần mô tả
  • $category->parent // lấy mô tả của chuyên mục
  • $category->count //Lấy số lượng bài viết có trong chuyên mục
  • Ngoài trả còn 1 số dữ liệu trả về khác ít sử dụng mình ko giời thiệu các bạn có thể lên mạng tìm hiểu thêm nếu cần thiết.

Ví dụ:

lấy danh mục trong wordpress

Mình muốn hiện thị như ảnh trên thì làm như sau:

<ul>
<?php
$args = array(
    'child_of'  => 0,
    'orderby'    => 'íd',
);
$categories = get_categories( $args );
foreach ( $categories as $category ) { ?>
<li>
   <a href="<?php echo get_term_link($category->slug, 'category');?>">
      <?php ehco $category->name ; ?>
      (<?php echo $category->count; ?>)
   </a>
</li>
<?php } ?>
</ul>

Trong đoạn code trên lưu ý 1 số điểm:

<?php echo get_term_link($category->slug, 'category');?>

Đoạn code này dùng để lấy link danh mục. Có 2 tham số là $category->slug Đường dẫn của danh mục, Còn category là tên mặc định.

Tổng kết:

Trên đây mình xin giới thiệu cho các bạn cách lấy danh mục trong wordpress. Đây chỉ là 1 cách trong rất nhiều cách lấy danh mục trong wordpress bạn có thể lên internet tìm hiểu thêm. Bài sau này bạn có thể áp dụng để lấy danh mục sản phẩm vv… Tùy theo yêu cầu hay chức năng của trang web mà chúng ta thêm các điệu kiện cũng như lấy các giá trị trả về cần thiết.

Từ khóa tìm kiếm: ‘Lấy danh mục trong wordpess’,’ get category wordpress‘.

Bài sau chúng ta sẽ học cách lấy Menu, là lấy sidebar (widget).

Có gì chưa rõ các bạn hãy CMT phía dưới hoặc vào nhóm! Học WordPress

Chào thân ái và quyết thắng!!

Lam 9 năm trước

Mình dùng widget để hiển thị sản phẩm theo category cha. bạn giúp mình đoạn code, khi chọn danh mục cha, đồng thời show sản phẩm, và show ra cả các danh mục con, có trong danh mục cha đó.

Thien Y 9 năm trước

Anh! Cho e hỏi Ví dụ E có 1 list category: Có 5 category cha, mỗi category cha có nhiều category nhỏ! Làm thế nào để hiển thị Tabs: Cha con con con con Như za vậy anh :(((((((( Thank anh nhiều!

Lâm Tắc Từ 9 năm trước

Bạn ơi cho mình hỏi lấy chuyên mục nhưng chỉ lấy những chuyên mục mà thích ra ngoài thì làm như nào vậy? cách của bạn như này thì nó sẽ lấy hết các chuyên mục ra ngoài ^^^^

HuyKira 9 năm trước

Ngay chổ mảng các điều kiện lấy danh mục bạn sử dụng thuộc tính "include" giá trị của thuộc tính này nhận 1 mảng các id mà bạn thích lấy!

Lâm Tắc Từ 9 năm trước

Cảm ơn anh!

Tiến 8 năm trước

làm thêm video phần custom trong admin đi bác ơi. tks bác

Đinh đz 8 năm trước

vác gạo sang đây.anh chỉ cho

TRương 8 năm trước

Anh! Cho e hỏi Ví dụ E có 1 list category: Có 5 category cha, mỗi category cha có nhiều category nhỏ! Làm thế nào để hiển thị Tabs: Cha con con con con Như za vậy anh :(((((((( Thank anh nhiều!

Văn Vẹn 8 năm trước

A ơi 1 bài viết 1 thuộc 2 category bây giờ e muốn lấy 1 tên của 1 category của bài viết đó thì mình dùng hàm gì anh

dominhni 8 năm trước

nếu muốn xuất hết danh mục con khi vào danh mục cha trong woocomerce thì làm thế nào anh ?

Nguyễn Hùng Hải 7 năm trước

Xin hỏi làm thế nào để get mỗi danh mục con khi vào danh mục cha ạ?

Hòa 7 năm trước

đoạn code get ảnh category ko hoạt động bạn ơi!

Huy Kira 7 năm trước

Ủa trong này đâu có đoạn code get ảnh category bạn ơi!

Huỳnh Thiện Trí 6 năm trước

giờ mới có dịp dọc bài 1 năm trước của anh ,quý quá là bao .

Huy Kira 6 năm trước

Bài này từ năm 2016 mà :D

mq 6 năm trước

(<?php echo <strong>$category->count;</strong> ?>) tại sao mình copy về chạy mà nó lại báo lỗi dòng này nhỉ