問題描述
有沒有辦法調整圖像的大小,他們將顯示在帖子中的大小?我有用户導入大圖像,然後在可視化編輯器中調整大小。這很容易,因為它們只需拖動圖像,直到它是所需的尺寸,而無需先打開圖像編輯器,調整圖像大小,保存圖像,並將其作為單獨的附件上傳。當然,這有時會導致一個 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。