WPML
Status
Aberto
Relatado para
WPML Media Translation 2.7.0
Plugin/tema relacionado
SVG Support
Tags de tópico
Compatibility

Visão geral do problema

Se você estiver usando o plugin SVG Support, notará que quando o plugin WPML Media Translation está ativo, a URL da imagem SVG fica incompleta. Por exemplo:

  • Com o WPML Media Translation ativado: https://domain.com/wp-content/uploads/logo.svg
  • Sem o WPML Media Translation ativado: https://domain.com/wp-content/uploads/2022/05/logo.svg

Solução alternativa

  • Adicione o seguinte snippet ao arquivo functions.php do seu tema:
    // 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;
    }

Todos os problemas conhecidos →