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;
    }

כל התקלות הידועות →