WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML SEO 2.1.0
แก้ไขใน
2.2.0
ปลั๊กอิน/ธีมที่เกี่ยวข้อง
Rank Math SEO
แท็กหัวข้อ
Compatibility

ภาพรวมของปัญหา

เมื่อใช้ปลั๊กอิน Rank Math SEO หมวดหมู่หลักที่ตั้งค่าไว้สำหรับสินค้าหรือโพสต์ในภาษาเริ่มต้นจะไม่ซิงค์ไปยังคำแปล ปัญหานี้ยังคงอยู่แม้ว่าคุณจะตั้งค่าฟิลด์กำหนดเอง rank_math_primary_product_cat เป็นคัดลอกก็ตาม

วิธีแก้ปัญหาชั่วคราว

โปรดตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลทั้งหมดของไซต์ของคุณก่อนดำเนินการต่อ


  • เปิดไฟล์ functions.php ของธีม

  • เพิ่มโค้ดต่อไปนี้:
    // 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;
    }

ปัญหาที่ทราบแล้วทั้งหมด →