Lesefortschritt:

SVG-Upload zur Word­Press-Mediathek freischalten

28. Januar 2021 | functions.php, Mediathek, Word­Press

Trick # 28 | Dieser Beitrag beinhaltet 488 Wörter. – Geschätzte Lesezeit: ca. 3 Minuten.

Besonders wenn es um Logo-Grafiken geht, trifft man als WebentwicklerIn irgendwann auf SVG-Files. Doch dieses Dateiformat lässt sich ohne Eingriff nicht ohne weiteres in die Word­Press-Mediathek hochladen. Von Haus aus möchte die nur gängigere Bildformate zulassen. Dieser Tipp schafft Abhilfe.

Der folgende Code muss in der functions.php (Design/Theme-Editor) untergebracht werden:

// SVG-Upload erlauben
function svgimg_types($file_types){
   $new_filetypes = array();
   $new_filetypes['svg'] = 'image/svg+xml';
   $file_types = array_merge($file_types, $new_filetypes );
   return $file_types;
}
add_action('upload_mimes', 'svgimg_types');
// SVG in der Mediathek anzeigen 
function svg_media_thumbnails($response, $attachment, $meta){
    if($response['type'] === 'image' && $response['subtype'] === 'svg+xml' && class_exists('SimpleXMLElement'))
    {
        try {
            $path = get_attached_file($attachment->ID);
            if(@file_exists($path))
            {
                $svg = new SimpleXMLElement(@file_get_contents($path));
                $src = $response['url'];
                $width = (int) $svg['width'];
                $height = (int) $svg['height'];
                //Media Gallerie
                $response['image'] = compact( 'src', 'width', 'height' );
                $response['thumb'] = compact( 'src', 'width', 'height' );
                //Media Einzelbild
                $response['sizes']['full'] = array(
                    'height'        => $height,
                    'width'         => $width,
                    'url'           => $src,
                    'orientation'   => $height > $width ? 'portrait' : 'landscape',
                );
            }
        }
        catch(Exception $e){}
    }
    return $response;
}
add_filter('wp_prepare_attachment_for_js', 'svg_media_thumbnails', 10, 3);

Der Code besteht eigentlich aus zwei Teilen:

  1. Zunächst wird der Upload der SVG-Files zugelassen (Zeilen 2-8)
  2. Anschliessend wird die Mediathek veranlasst, die SVG-Dateien auch anzuzeigen (Zeilen 10-37)

Damit sollte Ihre Word­Press-Installation auch SVG verarbeiten können.

Werbung

Keine Inhalte gefunden.

Werbung

 

Pin It on Pinterest

Share This
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.