set_post_thumbnail_size vs add_image_size


11

Set_post_thumbnail_size ve add_image_size arasındaki fark nedir? Tüm resimler için set_post_thumbnail_size ve resimleri ayrı ayrı boyutlandırmak için add_image_size mi?

Teşekkürler.

Yanıtlar:


27

Bir resim WordPress'e yüklendiğinde, orijinal boyutuna ve farklı boyutlardaki bazı yeniden boyutlandırılmış kopyalar olarak kaydedilir . Bu şekilde, aynı görüntünün farklı boyutlarını farklı amaçlar için kullanmak kolaylaşır.

Varsayılan olarak, WordPress 3 farklı boyutta 3 kopya oluşturur:

  • 'thumb'
  • 'medium'
  • 'large'

Bu 3 boyut için piksel cinsinden boyut, menünün altındaki WordPress kontrol panelinde ayarlanabilir Settings -> Media.

Şimdi, işlev add_image_sizeyeni bir boyut kaydetmek için kullanılır, bu da 3 varsayılana eklenir.

Kaydolan her boyut bazı WordPress fonksiyonu, örneğin içinde, onun adını kullanarak alınabilir wp_get_attachment_image_src, wp_get_attachment_image, wp_get_attachment_link.

Tüm bu işlevler $size, kayıtlı boyutlardan birinin (3 standarttan biri veya kayıtlı özel boyutlardan biri) adı olması gereken bir parametreyi kabul eder add_image_size.

Eğer 'full'olarak kullanılan $sizeargüman, orijinal resim değil resized birini döndürülür.

Yukarıda belirtilen işlevlere ek olarak, görüntü boyutlarını kullanan iki işlev daha vardır: get_the_post_thumbnailve the_post_thumbnail.

Bu iki işlev, bir gönderi için "Öne Çıkan Resim" olarak ayarlanan görüntüyü alır (birinci) ve yankı (ikinci).

Bu işlevler tarafından döndürülen (veya yankılanan) tam bir imghtml etiketidir,

<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />

Peki, kullanılan boyut nedir?

A $size, 2. bağımsız değişken (1. ise $postid) olarak iletilirse , bu işlevler görüntüyü bu boyutta döndürür. Aksi takdirde, bu işlevler adla kaydedilmiş bir görüntü boyutu için arama: post-thumbnail.

Bu 3 varsayılan boyuttan biri değildir, aslında 4. standart boyuttur (5. kabul edilir full) ve aramayı kaydedebilirsiniz set_post_thumbnail_size.

Yani

set_post_thumbnail_size( $width, $height, $crop );

için bir kısayol

add_image_size( 'post-thumbnail', $width, $height, $crop );

Eğer aramadıysanız set_post_thumbnail_size(boyutun 'post-thumbnail'oluşturulmadığı anlamına gelir ), WordPress boyutu kullanır thumbve bu boyut bile kullanılamıyorsa, WordPress yeniden boyutlandırılmamış orijinal görüntüyü kullanır.

Bir tema tasarlarken özel görüntü boyutlarını kaydetmek çok yararlı olabilir, ancak kötüye kullanmamak önemlidir: yüklenen her görüntü kaydedilen tüm boyutlar için kopyalanır ve yeniden boyutlandırılır, bu nedenle çok sayıda boyutun kaydedilmesi görüntü yükleme işlemini büyük ölçüde yavaşlatır.

Bir not:

WordPress bir görüntünün kopyalarını ölçekli oluşturur zaman, onu büyütür asla unutmayın, ama sadece daha küçük kopyalarını yapar: örneğin orijinal resim 400x500px ve 'orta' görüntü boyutu en fazla 800x600, orta büyüklükte ve büyük eğer değil yarattı.

Bir resim boyutu kayıt Yani asla kayıtlı her boyut için bir resim dosyası olduğu güvenlik sağlar aslında WordPress içerik klasöründe bulunmaktadır. Kayıtlı görüntü boyutları kolayca değişse bile: ayarları değiştirmek, temaları değiştirmek vb.

Bir görüntü boyutu değiştiğinde, herhangi bir nedenle değişikliğin, bu değişiklikten sonra yüklenen görüntüler üzerinde bir etkisi olur ; images boyutları değişmez önce yüklenen ve edilir değil yeniden ölçeklemek ve resaved.

Bazı görüntüler zaten yüklendikten sonra (örneğin temaları değiştirdikten sonra) belirli görüntü boyutlarına güvenmeniz gerekiyorsa, Küçük Resimleri Yeniden Oluştur eklentisi bir hayat kurtarıcı olacaktır.


2
Muhteşem. Cevabınız nedeniyle 5 kez tıklardım ama site buna izin vermiyor. Thanls.
Greeso

Birisi artık iyi değil :)
gmazzap

Sadece bir tane daha questoin: Eğer set_post_thumbnail_size ('post-thumbnail' boyutunun yaratılmadığı anlamına gelmediysem ne olur, o zaman the_post_thumbnail diyorum. Ne olacak? (The_post_thumbnail post-thumbnail'i param).
Greeso

@GM, Berrak bir açıklama için başparmak yukarıya
Istiaque Ahmed

Bu cevap çok faydalı! Ancak, bence bu: set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized. ... yanlış. Bunu test etme deneyimime göre, set_post_thumbnail_size()çağrılmadıysa, WP tam boyutlu görüntüye geri döner.
Travis Northcutt

1

Kodeks'den:

set_post_thumbnail_size

Varsayılan Öne Çıkan Resim (eski adıyla Küçük Resim Gönder) boyutlarını ayarlayın. Öne Çıkan Görüntüler için ek görüntü boyutları kaydetmek için şunu kullanın: add_image_size ().

add_image_size

Yeni bir görüntü boyutu kaydeder. Bu, WordPress'in yeni bir görüntü yüklediğinizde Öne Çıkan Görüntünün (önceden küçük resim olarak biliniyordu) bir kopyasını oluşturacağı anlamına gelir.


Set_post_thumbnail_size kullanmadan add_image_size kullanabilir miyim?
Greeso

Evet tabi ki.
Krzysiek Dróżdż
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.