Görüntüleri gönderilecekleri gerçek boyutuna göre yeniden boyutlandırmanın bir yolu var mı? Büyük bir görüntüyü içe aktaran ve daha sonra görsel düzenleyicide yeniden boyutlandıran kullanıcılarım var. Bu kolaydır, çünkü bir görüntü düzenleyiciyi açmadan, görüntüyü yeniden boyutlandırmadan, kaydetmeden ve ayrı bir ek olarak yüklemeden, görüntüyü istedikleri boyuta kadar sürükleyebilirler. Tabii ki, bu bazen yazı boyunca 100 piksel genişliğinde, gerçekte 1500 piksel boyutunda bir görüntüyle sonuçlanır.
Yeni bir gönderi kaydedildiğinde bunu yapan bir eklenti var mı? Mevcut tam boyutlu görüntüyü (bağlantı kurmak veya daha sonra yeniden boyutlandırmak için) saklamak isterim, ancak sadece fazladan bir boyut ekleyin (ve
_wp_attachment_metadata nesnesine kaydedin), bu nedenle bu yayında görüntünün doğru boyutta olması ve referans olması gerekir. tam boyutlu eke.
Tabii ki, mevcut tüm görevler de bir kez ele alınmalıdır.
<img> etiketlerinde sadece
width, sadece
height olabilir veya bunların hiçbiri olmayabilir: bunların tümü temizlenmelidir, bu nedenle hepsinin doğru
width,
height ve o boyutta bir resmi vardır.
Birlikte ihtiyaçlarımı çözmesi gereken iki eklenti oluşturdum. Halen erken bir alfa aşamasındalar ve tüm yorumlarınızı bekliyoruz.
Temel eklenti bir İsteğe Bağlı Resizer şeklindedir. Bu eklentiler, yüklenenler dizinindeki mevcut olmayan dosyalar için istekleri izler ve gerekirse istenen boyutta görüntüler oluşturur. Örneğin,
image-200x100.jpg
image.jpg öğesini oluşturur ve döndürür, ancak 200 x 100 piksel olarak yeniden boyutlandırılır. Resim bu isimle dizine kaydedilir, bu nedenle başka istekler doğrudan sunucu tarafından gerçekleştirilir.
İkinci eklenti, Yeniden boyutlandır img etiketler ,
<img> etiketlerini değiştirir, böylece
src öznitelikleri genişlik ve/veya yükseklik verilerini içerir. Bu, ilk eklentinin doğru görüntüleri sunmasını sağlar. Birlikte istediklerimi yapıyorlar ve mevcut tüm gönderileri dönüştürmek için yalnızca bir kez çalıştırma işlevi oluşturmam gerekiyor, ancak bu kolay olmalı (yalnızca bir kez çalışması gereken bir şey için
the_content'ye bağlanmak istemiyorum).
Üçüncü bir "bonus" eklentisi, Sanal ara görüntüler , WordPress'e yeni bir görüntü yüklerken ara görüntülerin oluşturulmasını engeller. İstenirse yine de ilk eklenti tarafından oluşturuldukları için, bu aslında kullanılmadıkları sürece disk alanı kapamadan birden fazla görüntü boyutu belirlemenize olanak tanır. Bu, ilk ikisinin çalışması için gerekli değildir, ancak kolay bir ektir ve yine de WordPress resim editörü etrafında çalışmam gerektiğinin altını çizer, ancak bunu yaparken küçük resim editörüm , aynı zamanda ilk eklentiyi kullanacak.
"resize" veya
"crop" için eklenti dizinini ( başka bir soru için ) ikincisini aradım ve bulgularımı genel bir Google e-tablosu içinde not ettim. Eklenti araması sonuç numaralarında çok kafa karıştırıcı (
"resize" aramasının son sayfası "273 eklentinin 145-150 gösteriliyor" olduğunu gösteriyor), bu yüzden birkaç tane kaçırmış olabilirim. Yarı ilgili notlar: herkes dünyanın başka bir slayt gösterisi eklentisine ihtiyacı olduğunu düşünüyor. Bir kaç tane
content_save_pre,
the_content'dan daha yoğun ayrıştırma yapmak için daha iyi bir filtre olabilir.
Bu eklentilerin hiçbirini henüz test etmedim, ancak istediğim şeyi yapmış gibi görünen eklentilerin listesi. Parantez içindeki "Uyumlu" sürüm numarasını ekledim.
[img]shortcode (2.9.2) aracılığıyla
Kişisel düşünceler: İlk dördü, URL'yi dinamik bir sayfaya (
/wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50gibi bir şey), çeşitli önbelleğe alma formlarıyla yeniden yazar. ImageScaler'ın yaklaşımına benzer şekilde, ihtiyaç duyulduğunda oluşturulan gerçek bir görüntüyü tercih ederim. Bununla birlikte, bunu böldüm (ve hakre'nin önerisini yorumlara dahil ettim) ve önce tüm URL'leri
/wp-content/uploads/2010/11/image.jpg'dan
/wp-content/uploads/2010/11/image-100x50.jpg'a yeniden yazdım ve sonra bir komut dosyasının eksik resimleri oluşturmasına izin verdim. Bu görüntünün ilk isteği görüntüyü oluşturur, sonraki tüm istekler bu oluşturulmuş görüntüyü kullanır. Bu aynı zamanda işlevselliği farklı eklentilere bölmeme izin veriyor. Bu çözümü ayrı bir cevapta göndereceğim.
Bu eklentiler görüntüleri belirli bir maksimum boyuta sınırlar (Bu,
$content_width belirtilmesinden ne kadar farklıdır):
Aşağıdaki eklenti başka nedenlerden dolayı ilginç:
Bu bir Topluluk Wiki yayınıdır, bu nedenle yeni eklentiler bulursanız güncellenebilir.
Wordpress yapılandırılabilir üç varsayılan boyut (küçük, orta, büyük) sunar. Bunları kullanırsanız, Wordpress yeniden boyutlandırılmış kopyalar oluşturur. Bunları kullanmak ve sayıyı geçerli stile uyacak şekilde ayarlamak muhtemelen iyi bir stildir. Bu, sayfa boyunca farklı boyutlara sahip olmayan resimlerle sonuçlanır ve tema değiştiğinde genel ayarlara izin verir.
Yeni yayımlanan Image Pro eklentisi tam olarak bunu yapıyor gibi görünüyor. Kendimi henüz test etmemişti, demo çok etkileyici görünüyor, tarayıcıdaki uyumluluğun kötü olduğunu unutmayın (şu anda yalnızca Firefox).
Görüntü boyutunu/boyutlarını ve yakınlaştırma seviyelerini otomatik olarak değiştirmek için timthumb ve pass değişkenini kullanmaya ne dersiniz? Bu şekilde orijinal resim boyutları hala korunabilir. Bu satırda bazı örneklere ihtiyacınız varsa bana bildirin.