- Trạng thái
- Đang mở
Tổng quan về lỗi
Hàm WordPress gốc has_category không hoạt động đối với các bài viết đã dịch.
Một ví dụ về điều này như sau:
- Chúng ta có một chuyên mục với slug tiếng Anh là “test” và bản dịch tiếng Pháp của nó là “test-fr”.
- Chuyên mục này được gán cho các bài viết.
- Khi bạn gọi has_category(”test”) bên trong một vòng lặp trong tệp single.php của giao diện của bạn, nó trả về true cho ngôn ngữ mặc định nhưng trả về false cho bản dịch.
Giải pháp tạm thời
Định nghĩa một bộ lọc mới trong tệp functions.php của giao diện:
function wp_has_category ($category) {
$category = get_term_by('name', $category, 'category');
return has_category($category);
}
add_filter('wp_has_category', 'wp_has_category', 10, 1);Thay thế hàm has_category bằng bộ lọc mới này:
apply_filters( 'wp_has_category', 'test' )
Bộ lọc này lấy chuyên mục đã dịch dựa trên tên của chuyên mục gốc và kiểm tra xem chuyên mục đã dịch có được gán cho một bài viết hay không.