問題描述

有沒有辦法讓我的用户定義帖子縮略圖的裁剪區域?縮略圖始終是現有的附件,我寧可不為每個縮略圖創建額外的附件。

帖子的縮略圖應該是 200×100 像素,並且來自該帖子中使用的一個圖像。所以在我的理想世界中,當您點擊 「設置精選圖像」 鏈接時,您可以概覽已包含的圖像,當您單擊其中一個時,您可以自己定義裁剪區域 (移動或調整大小,但保持 2×1 寬高比) 。當您單擊”OK” 時,新的帖子縮略圖將保存在原始附件中 (例如在_wp_attachment_metadata['sizes']['post-thumbnail']元數據字段中),而不是新的附件。使用已經用作另一個帖子的帖子縮略圖的圖像不應該被允許,或至少給出警告。

我相信包含的圖像編輯器不符合我的需要,因為您可以選擇編輯圖像的所有版本或常規縮略圖,而不僅僅是發佈縮略圖。我也發現有一些令人困惑的知道我正在編輯哪些版本,所以我認為我的用户會有更多的麻煩。

有沒有一個插件可以做我想要的,或者我可以很容易地擴展到我的需要?

更新:示例 UI

我非常喜歡 Mac OS X 通訊錄圖像選擇器的界面:您選擇一個圖像,並通過滑塊調整固定比例縮略圖裁剪器的大小。您也可以拖動基本圖像。您可以將這個想法擴展到多個圖像大小 (例如,我有一個 post-thumbnailpost-thumbnail-1/2) 。讓用户用複選框選擇他正在編輯的尺寸,並在屏幕上繪製適當的裁剪矩形。

最佳解決方案

代碼仍然是一團糟,但它似乎工作,即使在 IE 8. 我打算發佈它在存儲庫,但在此期間,你可以玩 my current version 。要訪問它,您在添加或編輯圖像時單擊”Edit Image”,它會替換通常的圖像編輯器 (它們很難合併) 。由於大多數管理區域使用常規縮略圖,而我當前的版本編輯了郵件縮略圖,似乎代碼沒有任何效果,但是通過顯示一個帖子縮略圖來嘗試,你應該看到它的更改。

這個插件需要我的 On-Demand Image Resizer,這也是一個混亂,做實際的調整大小。

次佳解決方案

最好的辦法是使用基於 javascript 的圖像裁剪,然後將 php 與 ImageMagick 或 Image GD 結合使用。

它必須寫入您的功能或作為 plug-in,因為我不知道任何現成的 wordpress plug-ins 的手,這是令人驚訝的。

有一個 YUI 圖像裁剪與基於 PHP 的保存選項 http://developer.yahoo.com/yui/examples/imagecropper/conn_crop.html

這是一個不同的教程,關於如何使用 php http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/的 jquery 裁剪器

第三個選項與上述鏈接非常相​​似,使用相同的 jquery 裁剪器但不同的代碼。 http://www.leonkessler.com/blog/?p=132

這是另一個使用 jquery 的 jcrop 而不是 http://www.talkincode.com/jcrop-extension-implementation-in-php-932.html

誰是一個新的 plug-in,這肯定會受歡迎:)

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。