WPML

סקירת התקלה

ב־Visual Composer, הכיתוב והטקסט החלופי של תמונות באלמנטים Single Image, Image Gallery, Image Masonry Gallery, Simple Image Slider ו־Feature Description לא נשלחים לתרגום. העמוד המתורגם מציג אותם בשפת ברירת המחדל.

פתרון עוקף

השתמש באחת מהאפשרויות הבאות:

  • במקום האלמנט Single Image, הוסף את התמונה לאלמנט Text Block, יחד עם הכיתוב והטקסט החלופי שלה. התוכן של Text Block נשלח לתרגום, כולל הכיתוב והטקסט החלופי.
  • או הוסף את הקוד הזה לקובץ functions.php של ערכת העיצוב שלך, ולאחר מכן שלח שוב את העמוד לתרגום. הוא שולח לתרגום את הכיתוב והטקסט החלופי של התמונות באלמנטים של Visual Composer. בדקנו זאת עם האלמנט Single Image:
add_filter( 'wpml_tm_translation_job_data', function ( $package ) {
	if ( empty( $package['contents']['field-vcv-pageContent-0']['data'] ) ) {
		return $package;
	}
	$page = json_decode( rawurldecode( base64_decode( $package['contents']['field-vcv-pageContent-0']['data'] ) ), true );
	foreach ( (array) ( $page['elements'] ?? [] ) as $element_id => $element ) {
		foreach ( (array) $element as $attribute => $items ) {
			if ( ! is_array( $items ) ) {
				continue;
			}
			foreach ( $items as $index => $item ) {
				foreach ( [ 'caption', 'alt' ] as $key ) {
					if ( ! is_array( $item ) || empty( $item[ $key ] ) || ! is_string( $item[ $key ] ) ) {
						continue;
					}
					$field = 'vcv-pageContentField--' . $element_id . '.' . $attribute . '.' . $index . '.' . $key;
					$package['contents'][ 'field-' . $field . '-0' ]      = [ 'translate' => 1, 'data' => base64_encode( $item[ $key ] ), 'format' => 'base64' ];
					$package['contents'][ 'field-' . $field . '-0-name' ] = [ 'translate' => 0, 'data' => $field ];
					$package['contents'][ 'field-' . $field . '-0-type' ] = [ 'translate' => 0, 'data' => 'custom_field' ];
				}
			}
		}
	}
	return $package;
}, 10 );

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

זקוק לעזרה בבעיה זו?

פתח פנייה לתמיכה ואנחנו נבדוק זאת איתך.