問題描述
有沒有辦法調整影像的大小,他們將顯示在帖子中的大小?我有使用者匯入大影像,然後在視覺化編輯器中調整大小。這很容易,因為它們只需拖動影像,直到它是所需的尺寸,而無需先開啟影像編輯器,調整影像大小,儲存影像,並將其作為單獨的附件上傳。當然,這有時會導致一個 100px 寬的影像,而在現實中則是 1500 畫素。
當儲存新帖子時是否有外掛?我想保留現有的 full-size 映像 (用於連結或更改大小),但只需新增一個額外的大小 (並將其儲存在_wp_attachment_metadata 物件中),因此此帖子的影像大小正確,並且對 full-size 附件。
當然,所有現有職位也應該處理一次。 <img> 標籤可能只有一個 width,只是一個 height,或者沒有一個:這應該被清理,所以他們都有正確的 width,height 和那個大小的影像。
最佳解決方案
我建立了兩個外掛,可以一起解決我的需要。他們目前處於早期階段,歡迎所有評論。
基本外掛是 On-Demand Resizer 。此外掛監視上傳目錄中的 non-existing 檔案的請求,並根據需要建立請求大小的映像。例如,image-200x100.jpg 將建立並返回 image.jpg,但調整為 200×100 畫素。影像由該名稱儲存在目錄中,所以進一步的請求由伺服器直接處理。
第二個外掛 「調整大小」img 標籤修改<img> 標籤,使其 src 屬性包括寬度和/或高度資料。這允許第一個外掛提供正確的影像。他們一起做我想要的,我只需要建立一個 run-once 函式來轉換所有現有的帖子,但這應該很簡單 (我不想掛鉤到 the_content,應該只執行一次) 。
第三個”bonus” 外掛,虛擬中間影像,在 WordPress 中上傳新影像時攔截中間影像的建立。由於它們仍然是由第一個外掛建立的,如果需要,這允許您指定多個影像大小,而不佔用磁碟空間,除非實際使用它們。這不是第一次工作,但這是一個容易的補充,它突出顯示了我仍然需要解決 WordPress 影像編輯器的事實,但我會這樣做,當我建立 my thumbnail editor,這也將使用第一個外掛。
次佳解決方案
我搜尋了"resize"或"crop"(後者用於 another question) 的外掛目錄,並在 a public Google spreadsheet 中註明瞭我的發現。外掛搜尋在其結果編號中非常混亂 ("resize"搜尋的最後一頁顯示 「顯示 273 個外掛的 145-150」),所以我可能錯過了一些。 Semi-related 注意:大家似乎認為世界需要另一個幻燈片外掛。幾乎似乎意識到,content_save_pre 可能是比 the_content 更好的過濾器做重解析。
我沒有測試任何這些外掛,但這裡是一個似乎做我想要的外掛的列表。我在括號中新增了 「相容的」 版本號。
-
ChoiceCuts Image Juggler,具有可透過 API 訪問的多個影像處理功能 (3.0.1)
-
Image Symlinks,透過特殊的
[img]短碼 (2.9.2) -
com_resize,將 URL 重寫為使用 phpThumb 的處理程序,還可以將外部映像 (2.6)
-
ImageScaler,如果需要建立新尺寸並更改影像中的 URL(2.3)
-
ImageScaler Modded,一個 slightly modified 版本的 ImageScaler(2.3.1)
Personal thoughts: The first four rewrite the URL to a dynamic page (something like
/wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50), with varying forms of caching. I prefer a real image that is created as-needed, similar to the approach ImageScaler takes. However, I would split this up (and include hakre’s suggestion in the comments) and first rewrite all URLs from/wp-content/uploads/2010/11/image.jpgto/wp-content/uploads/2010/11/image-100x50.jpg, and then let a script create the missing images. The first request for this image creates the image, all subsequent requests use this created image. This also allows me to split the functionality across different plugins. I will post this solution in a separate answer.
這些外掛將影像限制在一定的最大尺寸 (這與指定 $content_width 有什麼不同):
-
JP-redesign-images,檢查熱連結和超大影像 (只有當它們太大,不是如果它們只是調整大小)(3.0.1)
-
Hungred Image Fit,檢查太大影像 (3.0.0)
以下外掛是有趣的,其他原因:
-
TimThumb meets TinyMCE,包括 TinyMCE 編輯器中的一個手動調整大小按鈕 (2.8.4)
這是一個社群維基帖子,所以如果您發現新的外掛,它可以更新。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。