Đoạn mô tả này tập trung vào việc hướng dẫn cách lấy ID của danh mục hiện tại trong WordPress. Bài viết sẽ đi sâu vào các phương pháp khác nhau, từ việc sử dụng các hàm WordPress có sẵn đến việc viết mã tùy chỉnh để phù hợp với nhiều tình huống. Bạn sẽ tìm thấy các ví dụ cụ thể và giải thích chi tiết, giúp bạn dễ dàng áp dụng vào dự án của mình, dù bạn là người mới bắt đầu hay đã có kinh nghiệm với WordPress.
Để lấy ID của danh mục hiện tại trong WordPress, bạn có thể sử dụng hàm get_queried_object()
. Hàm này sẽ trả về đối tượng của danh mục mà bạn đang truy cập. Dưới đây là cách thực hiện:
Nếu bạn đang ở trang archive của một danh mục (ví dụ: category.php
), bạn có thể lấy ID của danh mục hiện tại như sau:
<?php
$current_category = get_queried_object();
$category_id = $current_category->term_id;
echo 'ID của danh mục hiện tại: ' . esc_html($category_id);
?>
get_category()
Bạn cũng có thể sử dụng get_category()
nếu bạn biết slug hoặc ID của danh mục. Để lấy danh mục hiện tại trong trang danh mục archive:
<?php
$current_category = get_queried_object();
if ($current_category) {
$category_id = $current_category->term_id;
echo 'ID của danh mục hiện tại: ' . esc_html($category_id);
}
?>
Nếu bạn muốn lấy ID của danh mục hiện tại trong một vòng lặp (ví dụ: trong single.php
), bạn có thể lấy danh mục của bài viết hiện tại và sử dụng ID của danh mục đầu tiên:
<?php
$categories = get_the_category();
if (!empty($categories)) {
$first_category_id = $categories[0]->term_id;
echo 'ID của danh mục đầu tiên của bài viết: ' . esc_html($first_category_id);
}
?>
Bạn nên kiểm tra nếu biến $current_category
không phải là null
trước khi truy cập thuộc tính term_id
, để tránh lỗi nếu không có danh mục nào được tìm thấy.
<?php
$current_category = get_queried_object();
if ($current_category) {
$category_id = $current_category->term_id;
echo 'ID của danh mục hiện tại: ' . esc_html($category_id);
} else {
echo 'Không có danh mục nào.';
}
?>
Các phương pháp trên sẽ giúp bạn lấy ID của danh mục hiện tại trong WordPress một cách dễ dàng và hiệu quả.