WPML
สถานะ
แก้ไขแล้วโดยผู้พัฒนา
แก้ไขใน
Blocksy Companion 2.0.33
ปลั๊กอิน/ธีมที่เกี่ยวข้อง
Blocksy
แท็กหัวข้อ
Compatibility

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

ใน ธีม Blocksy เมื่อใช้ฟีเจอร์ Products Tab กับ WPML แท็บที่แปลเป็นภาษารองอาจแสดงผลผิดพลาดเป็นภาษาต้นฉบับบนส่วนหน้าเว็บไซต์

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

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


  • เปิดไฟล์ …/wp-content/plugins/blocksy-companion-pro/framework/premium/extensions/woocommerce-extra/features/custom-tabs/feature.php

  • ค้นหาบรรทัดที่ 139

  • แทนที่:
    $all_products_tabs = get_posts([
    	'numberposts' => -1,
    	'post_type' => $this->post_type,
    ]);

  • ด้วย:
    $all_products_tabs = get_posts([
    	'numberposts' => -1,
    	'post_type' => $this->post_type,
    	// WPML Workaround for compsupp-7255 - PART 1
    	'suppress_filters' => false
    ]);

  • จากนั้น เปิดไฟล์ …/wp-content/plugins/blocksy-companion-pro/framework/features/conditions/rules-resolver.php

  • ค้นหาบรรทัดที่ 364

  • แทนที่:
    if (
    	isset($rule['payload'])
    	&&
    	isset($rule['payload']['post_id'])
    	&&
    	$post_id
    	&&
    	intval($post_id) === intval($rule['payload']['post_id'])
    ) {
    	return true;
    }

  • ด้วย:
    // WPML Workaround for compsupp-7255 - Part 2
    if ( class_exists('Sitepress') ) {
    	$rule['payload']['post_id'] = apply_filters( 'wpml_object_id', $rule['payload']['post_id'], get_post_type($rule['payload']['post_id']) , TRUE  );
    }
    
    if (
    	isset($rule['payload'])
    	&&
    	isset($rule['payload']['post_id'])
    	&&
    	$post_id
    	&&
    	intval($post_id) === intval($rule['payload']['post_id'])
    ) {
    	return true;
    }

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