Lấy danh sách danh mục con trong WordPress

Hôm nay phải làm việc với yêu cầu liên quan đến danh mục con (subcategories) trong WordPress. Đại loại yêu cầu là như thế này: Trong trang danh mục (category pages) ở sidebar sẽ hiển thị danh sách các thư mục con của danh mục đó. Nếu đang ở danh mục con thì vẫn sẽ hiển thị danh mục thư mục cha của nó.

Xin chia sẻ lên đây để một là lưu lại sau này để tra cứu và hai là chia sẻ với các bạn nếu gặp phải. Bắt đầu giải quyết nhé. Đầu tiên ta sẽ lấy thông tin thư mục hiện tại:

Tiếp đến ta kiểm tra xem nó có phải thư mục cha hay không với lệnh if. Nếu là thư mục cha thì sẽ gán thư mục cha là nó, nếu nó chỉ là thư mục con thì sẽ truy ngược lại xem thư mục cha của nó là gì rồi gán. Lệnh cụ thể như sau:

Viết đến đây ta sẽ lấy được thư mục cha. Giờ ta sẽ lấy danh sách tất cả các thư mục con của thư mục cha vừa tìm được này:

Ở dòng lệnh trên các bạn chú ý biến $taxonomy. Biến này là biến chỉ phân loại của danh mục định lấy. Mục định WordPress sẽ là category. Tuy nhiên nếu bạn sử dụng thêm các plugin khác thì có thể tùy vào plugin phân loại để đưa ra giá trị cụ thể cho nó ví dụ như: product_cat (thư mục của sản phẩm – WooCommerce),…

Sau khi kết thúc đoạn lệnh này bạn sẽ được trả về mảng chứa ID các thư mục con. Và ta sẽ dựa vào ID này để lấy thông tin của thư mục:

Ở đây mình sẽ lấy ra 2 giá trị là $sub_cat_link$sub_cat_title tương ứng với liên kết của tiêu đề của thư mục.

Xong rồi đó. Bạn biết phải làm gì tiếp theo đúng không. Chú ý ở đây mình chỉ đang làm ở giải pháp cho trang chỉ có thư mục con cấp 1. Với các trang có thư mục con cấp 2, 3, 4,.. mình xin hẹn các bạn ở bài viết sau.

Chúc các bạn thành công.

Huỳnh Mai Anh Kiệt

Cảm ơn bạn đã đánh giá! Bạn có thể chia sẻ cảm nhận bài viết này lên các mạng xã hội: hoặc .
Bạn cảm thấy thế nào về bài viết này?
  • Vui mừng
  • Hấp dẫn
  • Thú vị
  • Chán
  • Buồn
  • Tức giận

Huỳnh Mai Anh Kiệt

Anh là một người đam mê công nghệ. Hiện tại anh là một lập trình viên tại Quy Nhơn.

leave a comment

Create Account



Log In Your Account