Wie aktiviere ich das Anpassen der Themenseite, um Svg’s zu akzeptieren?

Ich arbeite gerade an einem Thema, das es dem Benutzer ermöglicht, ein Logo über die angepasste Themenseite hochzuladen.

Ich möchte, dass der Benutzer ein SVG als Logo hochladen kann.

WordPress erlaubt nicht, dass SVGs standardmäßig hochgeladen werden. Also habe ich ein Code-Snippet benutzt, um SVG’s in de media uploader zu aktivieren.

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

Ich dachte, das würde mir auch erlauben, SVG’s über die customize Themenseite ( customize.php ) hochzuladen.

Das scheint nicht zu funktionieren.

Wenn ich eine Svg über den normalen Medien-Uploader hochlade, wird die Datei erfolgreich hochgeladen. Wenn ich versuche, eine Svg über meinen Logo-Uploader auf der Themeseite zu laden, passiert nichts. Nicht einmal ein Fehler.

Mein Code, um das Hochladen von Logos über die Themeseite zu aktivieren:

 function themeslug_theme_customizer( $wp_customize ) { $wp_customize->add_section( 'themeslug_logo_section' , array( 'title' => __( 'Logo', 'themeslug' ), 'priority' => 30, 'description' => 'Upload a logo to replace the default site name and description in the header', ) ); $wp_customize->add_setting( 'themeslug_logo' ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'themeslug_logo', array( 'label' => __( 'Logo', 'themeslug' ), 'section' => 'themeslug_logo_section', 'settings' => 'themeslug_logo', ) ) ); } add_action('customize_register', 'themeslug_theme_customizer'); 

Weiß jemand, wie SVG-Upload speziell für die Themeseite angepasst werden kann?

Solutions Collecting From Web of "Wie aktiviere ich das Anpassen der Themenseite, um Svg’s zu akzeptieren?"

Sie müssen der Liste der gültigen Erweiterungen in WP_Customize_Image_Control auch “svg” WP_Customize_Image_Control :

 $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'themeslug_logo', array( 'label' => __( 'Logo', 'themeslug' ), 'section' => 'themeslug_logo_section', 'settings' => 'themeslug_logo', 'extensions' => array( 'jpg', 'jpeg', 'gif', 'png', 'svg' ), ) ) );