2017-05-24 1 views
-3

J'utilise ce filtre du Codex WordPress dans mon function.php pour permettre le téléchargement des fichiers svg, svgz et dxf. Mais avec tous les fichiers de test téléchargés que j'ai téléchargés ont été rejetés par des raisons de sécurité de WordPress. Y a-t-il d'autres éléments auxquels je dois prêter attention pour que cela fonctionne?Déboguer le filtre Wordpress pour les mimes de téléchargement

function my_custom_mime_types($mimes) { 

    // New allowed mime types. 
    $mimes['svg'] = 'image/svg+xml'; 
    $mimes['svgz'] = 'image/svg+xml'; 
    $mimes['dxf'] = 'application/dxf'; 


return $mimes; 
} 
add_filter('upload_mimes', 'my_custom_mime_types'); 
+0

est-il un nouveau type de méthode de spamming? je n'aime pas perdre mon temps – Kaddath

Répondre

1

As of wordpress 4.7.1 this is a fix

// Allow SVG 
add_filter('wp_check_filetype_and_ext', function($data, $file, $filename, 
$mimes) { 

    global $wp_version; 
    if ($wp_version !== '4.7.1') { 
    return $data; 
    } 

    $filetype = wp_check_filetype($filename, $mimes); 

    return [ 
     'ext'    => $filetype['ext'], 
     'type'   => $filetype['type'], 
     'proper_filename' => $data['proper_filename'] 
    ]; 

}, 10, 4); 

function cc_mime_types($mimes){ 
    $mimes['svg'] = 'image/svg+xml'; 
    $mimes['svgz'] = 'image/svg+xml'; 
    $mimes['dxf'] = 'application/dxf'; 
    return $mimes; 
} 
add_filter('upload_mimes', 'cc_mime_types'); 

function fix_svg() { 
    echo '<style type="text/css"> 
    .attachment-266x266, .thumbnail img { 
     width: 100% !important; 
     height: auto !important; 
    } 
    </style>'; 
} 
add_action('admin_head', 'fix_svg'); 
1

Merci pour le code et la référence Aaron!

j'ai pris quelques adaption je pouvais trouver sur codepen de sorte que vous ne devez pas changer la version WP manuellement:

function relationship_options_filter($options, $field, $the_post) { 
    $options[‘post_status’] = array(‘publish’); 
    return $options; 
} 
add_filter('acf/fields/post_object/query/key=field_59074524ac92e', 'relationship_options_filter', 10, 3); 


// Allow SVG 
add_filter('wp_check_filetype_and_ext', function($data, $file, $filename, $mimes) { 

    global $wp_version; if($wp_version == '4.7' || ((float) $wp_version < 4.7)) { return $data; } 

    $filetype = wp_check_filetype($filename, $mimes); 

    return [ 'ext' => $filetype['ext'], 'type' => $filetype['type'], 'proper_filename' => $data['proper_filename'] ]; 

}, 10, 4); 

function cc_mime_types($mimes){ 
    $mimes['svg'] = 'image/svg+xml'; 
    $mimes['svgz'] = 'image/svg+xml'; 
    $mimes['dxf'] = 'image/x-dwg'; 

    return $mimes; 
} 
add_filter('upload_mimes', 'cc_mime_types'); 

function fix_svg() { 
    echo '<style type="text/css"> 
    .attachment-266x266, .thumbnail img { 
     width: 100% !important; 
     height: auto !important; 
    } 
    </style>'; 
} 
add_action('admin_head', 'fix_svg');