WPML
Trạng thái
Đã giải quyết
Được báo cáo cho
WPML SEO 2.1.0
Đã giải quyết trong
2.2.0
Plugin/giao diện liên quan
Rank Math SEO
Thẻ chủ đề
Compatibility

Tổng quan về lỗi

Khi sử dụng plugin Rank Math SEO, danh mục chính được thiết lập cho một sản phẩm hoặc bài viết bằng ngôn ngữ mặc định không đồng bộ với các bản dịch của nó. Vấn đề này vẫn tiếp diễn ngay cả khi bạn thiết lập trường tùy chỉnh rank_math_primary_product_cat thành Sao chép.

Giải pháp tạm thời

Vui lòng đảm bảo có một bản sao lưu đầy đủ cho trang web của bạn trước khi tiếp tục.


  • Mở tệp functions.php của giao diện.

  • Thêm mã sau:
    // compsupp-6580: sync primary term and primary product terms for Rank Math
    add_filter('get_post_metadata', 'compsupp6580_filter_the_post_metadata', 20, 4);
    
    function compsupp6580_filter_the_post_metadata($value, $postId, $key, $single)
    {
    
    	$meta_keys_mapping = array(
    		'rank_math_primary_category'    => 'category',
    		'rank_math_primary_product_cat' => 'product_cat',
    	);
    
    	if (in_array($key, array_keys($meta_keys_mapping), true)) {
    		remove_filter('get_post_metadata', 'compsupp6580_filter_the_post_metadata', 20);
    		$value = get_post_meta($postId, $key, true);
    		add_filter('get_post_metadata', 'compsupp6580_filter_the_post_metadata', 20, 4);
    
    		$args     = [
    			'element_id'   => $postId,
    			'element_type' => get_post_type($postId),
    		];
    		$language = apply_filters('wpml_element_language_code', false, $args);
    		$value    = apply_filters('wpml_object_id', $value, $meta_keys_mapping[$key], true, $language);
    
    		if (!$single) {
    			$value = [$value];
    		}
    	}
    
    	return $value;
    }

Tất cả các lỗi đã ghi nhận →