Erlaube SVG in WP Schritt für Schritt

Ich bin nicht stark in WP-Programmierung, aber ich versuche zu verstehen, was zu tun ist, um SVG in meiner Website zu aktivieren. Ich fand, dass unten functions.php zu functions.php hinzugefügt functions.php :

 /** * Add SVG capabilities */ function wpcontent_svg_mime_type( $mimes = array() ) { $mimes['svg'] = 'image/svg+xml'; $mimes['svgz'] = 'image/svg+xml'; return $mimes; } add_filter( 'upload_mimes', 'wpcontent_svg_mime_type' ); 

wpcontent sollte durch den Namespace ersetzt werden. Aber wie weiß ich, was mein WP-Namespace ist?

Fügen Sie der .htaccess Datei Zeilen nach der Zeile hinzu, #End WordPress :

 # Add SVG Mime Types AddType image/svg+xml svg AddType image/svg+xml svgz 

Soll ich noch etwas tun?

UPD. Nach diesem Verfahren habe ich folgendes:

Jetzt kann ich Dateien auf Media hochladen, aber keine Vorschau. Und wenn ich nichts einlege passiert – kein neues Bild.

Wie triggers man das?

Solutions Collecting From Web of "Erlaube SVG in WP Schritt für Schritt"

Aber wie weiß ich, was mein WP-Namespace ist?

Namespacing einer function, in WP Land, bedeutet nur, dass es mit etwas vorangestellt wird, das es einzigartiger und unwahrscheinlich macht, mit irgendetwas anderem in Konflikt zu geraten. Im Allgemeinen bedeutet das, dass Sie sowohl einen “Vendor” als auch ein “Package” ausführen. Zum Beispiel, wenn ich ein Plugin erstelle, könnte meine function upload mimes function …

 add_filter('upload_mimes', 'chrisguitarguy_pluginname_mimes'); function chrisguitarguy_pluginname_mimes($mimes) { // ... } 

Wo chrisguitarguy ist mein “Vendor” Name und pluginname ist das Paket. Sie können diese PHP Namespaces auch tun.

 namespace Chrisguitarguy\PluginName; add_action('upload_mimes', __NAMESPACE__.'\\mimes'); function mimes($mimes) { // ... } 

Soll ich noch etwas tun?

Nein, was Sie haben, ist perfekt. Vielleicht möchten Sie angeben, dass svgz in Ihrem .htaccess gezippt wird.

 AddType image/svg+xml .svg .svgz // http://httpd.apache.org/docs/2.2/mod/mod_mime.html#addencoding AddEncoding gzip svgz 

Neuere Versionen von Apache können diese Konfiguration standardmäßig enthalten?

Das Hinzufügen des folgenden Codes zu meiner functions.php funktioniert gut für mich. Keine Notwendigkeit, die .htaccess Datei überhaupt zu ändern.

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

Dadurch kann ich SVG-Bilder ohne Probleme hochladen und anzeigen.