WPML
סטטוס
נפתר
נפתר בגרסה
4.10.0

סקירה כללית של התקלה

עקב נתונים פגומים שנשמרו במסד הנתונים, קורה שתרגומי תוויות של תכונות מוצר אינם מוצגים בעמוד המוצר.

פתרון עוקף

אנו עובדים על תיקון לבעיה זו. בינתיים, תוכל להשתמש בטלאי הבא. אנא עשה זאת רק באתר בדיקות, אם אתה מרגיש בנוח לערוך קוד PHP, ורק לאחר שווידאת שיש לך גיבוי מלא ותקין של האתר שלך.

יש להחיל את הטלאי הבא בקובץ “wp-content/plugins/woocommerce-multilingual/inc/class-wcml-attributes.php” בשורה 379:

החלף את הקוד הבא (המתודה המלאה “get_attr_label_translations”):

public function get_attr_label_translations( $product_id, $lang = false ) {
$trnsl_labels = get_post_meta( $product_id, 'attr_label_translations', true );</code>

if ( ! is_array( $trnsl_labels ) ) {
$trnsl_labels = [];
}

if ( isset( $trnsl_labels[ $lang ] ) ) {
return $trnsl_labels[ $lang ];
}

return $trnsl_labels;
}

בקוד הבא:

	public function get_attr_label_translations( $product_id, $lang = false ) {
		$trnsl_labels = get_post_meta( $product_id, 'attr_label_translations', true );

		$remove_empty_values = function ( $values ) {
			return wpml_collect( $values )->filter()->toArray();
		};

		if ( ! $lang && is_array( $trnsl_labels ) ) {
			return wpml_collect( $trnsl_labels )
				->map( $remove_empty_values )
				->toArray();
		}

		if ( isset( $trnsl_labels[ $lang ] ) ) {
			return $remove_empty_values( $trnsl_labels[ $lang ] );
		}

		return [];
	}

WPML 4.4.0 Beta


שחררנו גרסת בטא שאמורה לפתור את הבעיה הזו. אנא זכור שזוהי גרסת בטא שנמצאת בבדיקה ואין להשתמש בה באתרים פעילים. תוכל להוריד אותה כאן:
https://wpml.org/account/downloads/

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