Allow SVG in WP step by step

时间:2015-10-25 作者:vico

我不擅长WP编程,但我试图了解如何在我的站点中启用SVG。我发现需要在下面添加函数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 应替换为命名空间。但如何知道我的WP名称空间是什么?

将下面的行添加到.htaccess 行后的文件,#End WordPress:

# Add SVG Mime Types
AddType image/svg+xml svg
AddType image/svg+xml svgz
还有什么我该做的吗?

UPD。完成此程序后,iI应具有以下内容:

现在我可以上传文件到媒体,但没有预览。当我插入时,什么都没有发生-没有新图片。

如何解决这个问题?

2 个回复
SO网友:chrisguitarguy

但如何知道我的WP名称空间是什么?

在WP-land中,给函数命名只意味着在其前面加上一些使其更独特且不可能与其他任何内容冲突的前缀。一般来说,这意味着你同时做“供应商”和“包装”。例如,如果我正在构建一个插件,我的函数upload mimes函数可能是。。。

add_filter(\'upload_mimes\', \'chrisguitarguy_pluginname_mimes\');
function chrisguitarguy_pluginname_mimes($mimes)
{
    // ...
}
在哪里chrisguitarguy 是我的“供应商”名称和pluginname 是包裹。你可以这样做PHP namespaces

namespace Chrisguitarguy\\PluginName;

add_action(\'upload_mimes\', __NAMESPACE__.\'\\\\mimes\');
function mimes($mimes)
{
    // ...
}
还有什么我该做的吗?

不,你所拥有的是完美的。您可能希望在.htaccess.

AddType image/svg+xml .svg .svgz
// http://httpd.apache.org/docs/2.2/mod/mod_mime.html#addencoding
AddEncoding gzip svgz
apache的较新版本默认情况下可能包含此配置?

SO网友:RaajTram

将以下代码添加到我的函数中。php对我来说非常有用。无需修改。htaccess文件。

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

add_filter( \'upload_mimes\', \'cc_mime_types\' );
这使我能够上传和显示SVG图像,而不会出现任何问题。

相关推荐

WordPress多站点不工作wp-admin

我有一个多站点,在更改了重定向之后,我丢失了wp admin,我返回了configs,但如果丢失了config htaccess。我插入域。站点/wp管理并转到域。地点我有这个:Htaccess<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] # uploaded files RewriteRule ^([_0-9a-z