如何使Customize Theme页面接受SVG?

时间:2014-08-30 作者:user25312

我目前正在开发一个主题,使用户可以通过自定义主题页面上传徽标。

我希望用户能够上传SVG作为徽标。

默认情况下,Wordpress不允许上载SVG。因此,我使用了一段代码来启用de media uploader中的SVG。

function cc_mime_types( $mimes ){
    $mimes[\'svg\'] = \'image/svg+xml\';
    return $mimes;
}
add_filter( \'upload_mimes\', \'cc_mime_types\' );
我想这也可以让我通过自定义主题页面上传SVG(customize.php) .

这似乎不起作用。

当我通过普通媒体上传器上传svg时,文件上传成功。当我试图通过自定义主题页面上的徽标上传器上传svg时,什么都没有发生。甚至不是一个错误。

通过自定义主题页启用徽标上载的我的代码:

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\');
是否有人知道如何为自定义主题页面启用SVG上传?

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

您还需要在中的有效扩展列表中添加“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\' ),
        )
    )
);

结束

相关推荐

Setting the uploads directory

所以我想更改我的上传目录。我可以通过以下方式进行更改:add_filter( \'pre_option_upload_url_path\', \'wpse_77960_upload_url\' ); function wpse_77960_upload_url() { return \'http://subdomain.example.com/files\'; } 或update_option(\'upload_url_path\', \'/wp-content/up