wordpress現在已經不再支持上傳svg保持內容不變

wordpress最近的更新中,已經不能再保持上傳svg內容不變,我試了兩個插件都不行。

往後如果我要上傳svg,則須用以下方法才可保留原始數據及展示圖像:

  • 如果要展示svg,則轉成png上傳。如果要保留數據,則改擴展名為.txt後上傳。
  • 既要展示svg,又要保留原始數據,就把文本內容貼到文章正文。

update at 2024-11-25:今發現最好的方法是轉成base64再填入< img >的src中。

舉例如下

轉png

文本上傳

svg文本.txt

直貼正文

svg原圖直傳會崩

base64

2 thoughts on “wordpress現在已經不再支持上傳svg保持內容不變”

    • 當我把svg上傳至wordpress媒體庫時,它裏面必要的描述屬性都將喪失。

      比如「fill-opacity」的喪失使得整個圖形一片漆黑。< use/>和< g/>的各種屬性都得不到保留。

      這應該是近期的某次升級發生的改動,原因猜測是svg作為一種xml文件,wordpress對其提升了安全等級。

      svg轉png確實會使圖片不再能像矢量圖那樣無限放大不失真。但是本網的絕大多數圖片都不需要放這麼大,如果有需要,則在轉png時放大就好了。本網的需求是體積越小越好,有時png在降色值之後比svg還小。

      但是,我倒是有兩個特別需求,一是我有時需要再次編輯;二是我會做一些svg動畫,內含< animate/>標籤。這時我仍然需要完整的svg,則我會用到前面提到的直接貼svg到正文,以及上傳.txt。

      Reply

Leave a Comment