WPML
Status
Open
Reported for
WPML Media Translation 2.7.0
Related plugin/theme
SVG Support
Topic tags
Compatibility

Overview of the issue

If you are using the SVG Support plugin, you will notice that when the WPML Media Translation plugin is active, the SVG image URL is incomplete. For example:

  • With WPML Media Translation activated: https://domain.com/wp-content/uploads/logo.svg
  • Without WPML Media Translation activated: https://domain.com/wp-content/uploads/2022/05/logo.svg

Workaround

  • Add the following snippet to your functions.php theme file:
    // WPML Workaround for compsupp-6933
    add_filter('wp_get_attachment_metadata', 'wpml_compsupp6933_fix_attachment_metadata_file_path', 10, 2);
    
    function wpml_compsupp6933_fix_attachment_metadata_file_path($data, $attachment_id) {
    
    	// Only apply the workaround if WPML Media and SVG Support plugins are active
    	if( class_exists('WPML_Media') && function_exists('bodhi_svgs_generate_svg_attachment_metadata') ) {
    		
    		if (isset($data['file']) && !preg_match('/\d{4}\/\d{2}\//', $data['file'])) {
    			// Get the upload directory info
    			$upload_dir_info = wp_upload_dir();
    	
    			// Extract the year and month from the basedir
    			$year_month = date('Y/m', strtotime(get_post_field('post_date', $attachment_id)));
    	
    			// Prepend the year and month to the file
    			$data['file'] = $year_month . '/' . $data['file'];
    			
    		}
    	}    
    
        return $data;
    }

All known issues →