我目前正在开发一个主题,使用户可以通过自定义主题页面上传徽标。
我希望用户能够上传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上传?
最合适的回答,由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\' ),
)
)
);