qTranslateX und das Artikelbild

Nicht selten kommt es vor, dass für multilinguale Systeme ein extra Beitragsbild mit Bildtext benötigt wird. Durch das Plugin Multiple Featured Images ist es möglich qTranslateX zu erweitern und für verschiedene Sprachen neue Beitragsbilder zu integrieren. In unserem Beispiel verwenden wir die Sprachen deutsch und englisch. Da die Standardsprache deutsch ist, fügen wir mit folgendem Code in der functions.php ein englisches Bild hinzu:

add_filter( 'kdmfi_featured_images', function( $featured_images ) {    
		$args = array(        
			'id' => 'featured-image-lang-en',        
			'descsc' => 'Beitragsbild EN',        
			'label_name' => 'Beitragsbild EN',        
			'label_set' => 'Beitragsbild EN festlegen',        
			'label_remove' => 'Beitragsbild EN entfernen',        
			'label_use' => 'Beitragsbild EN festlegen',        
			'post_type' => array( 'post' ),    
		);    
		$featured_images[] = $args;    
	return $featured_images;
});

Da es nur selten vorkommt, dass ein zusätzlich englisches Bild benötigt wird, soll das Beitragsbild nur ersetzt werden, wenn auch wirklich ein englisches Bild vorhanden ist. Mit dem folgenden Zusatzcode wird das eigentliche Beitragsbild automatisch ausgetauscht:

add_filter( 'get_post_metadata', 'wdm_change_featured_image', 10, 4 );
function wdm_change_featured_image( $feature_image_id = null, $post_id, $meta_key, $single ) {
    if ( $meta_key == '_thumbnail_id' ) {
         if(function_exists('qtranxf_getLanguage')) {
	      if (qtranxf_getLanguage() == 'en' && kdmfi_has_featured_image( 'featured-image-lang-en', $post_id )) {
	          $feature_image_id = kdmfi_get_featured_image_id( 'featured-image-lang-en', $post_id );
	      }
	  }
    }
  return $feature_image_id;
}