WPML

Aperçu de l’anomalie

Dans Visual Composer, la légende et le texte alternatif des images dans les éléments Single Image, Image Gallery, Image Masonry Gallery, Simple Image Slider et Feature Description ne sont pas envoyés à la traduction. La page traduite les affiche dans la langue par défaut.

Solution de contournement

Utilisez l’une de ces options :

  • Au lieu de l’élément Image unique, ajoutez l’image à un élément Bloc de texte, avec sa légende et son texte alternatif. Le contenu du Bloc de texte est envoyé à la traduction, y compris la légende et le texte alternatif.
  • Ou ajoutez ce code au fichier functions.php de votre thème, puis envoyez à nouveau la page à la traduction. Il envoie la légende et le texte alternatif des images des éléments Visual Composer à la traduction. Nous l’avons testé avec l’élément Image unique :
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 );

Toutes les anomalies connues

Besoin d'aide pour ce problème ?

Faites une demande d’assistance et nous l’examinerons avec vous.