- Trạng thái
- Đang mở
- Thẻ chủ đề
- Bug
Tổng quan về lỗi
Khi bạn gán các thuật ngữ cho các bài viết, WordPress sẽ lưu trữ tổng số bài viết mà một thuật ngữ cụ thể đã được gán.
Nếu bạn xóa một thuật ngữ khỏi một bài viết nào đó thì số lượng sẽ giảm xuống. Nếu Cài đặt được thiết lập để đồng bộ thuật ngữ thì thuật ngữ đã dịch sẽ bị xóa khỏi bài viết đã dịch, nhưng số lượng không giảm xuống.
Giải pháp tạm thời
Bạn có thể thêm đoạn mã sau (thông qua một plugin hoặc tệp functions.php trong giao diện của bạn) để buộc tính toán lại số lượng thuật ngữ cho các bản dịch:
add_action( 'deleted_term_relationships', function($object_id, $tt_ids, $taxonomy){
$trids = array();
$translated_tt_ids = array();
foreach ($tt_ids as $tt_id) {
$trids[] = apply_filters( 'wpml_element_trid', NULL, $tt_id, 'tax_'.$taxonomy );
}
foreach ($trids as $trid) {
$translations = apply_filters( 'wpml_get_element_translations', NULL, $trid, 'tax_'.$taxonomy );
foreach ($translations as $lang => $translation) {
$translated_tt_ids[] = $translation->element_id;
}
}
$translated_tt_ids = array_diff( $translated_tt_ids, $tt_ids );
if ( count( $translated_tt_ids ) ) {
wp_update_term_count( $translated_tt_ids, $taxonomy );
}
}, 11, 3);