Post grid widget'ı
5 dk okuma
Yazıları kart olarak listeleyen Post grid widget'ı, düz bir yazı listesinden farklı olarak alan değerlerine göre filtreleyip sıralayabilir (en ucuz önce, yalnızca Color alanı red olan yazılar), kartlarda alan değerlerini gösterir ve bir düğmeyle daha fazla kart yükler. Elementor panelinde WPM Fields kategorisinde yer alır ve Pro plan gerektirir.
Widget'ı ekleme
- Bir sayfayı Elementor ile düzenleyin ve Post grid widget'ını WPM Fields kategorisinden sayfaya sürükleyin.
- Aşağıdaki Query, Card ve Pagination bölümlerini ayarlayın.
- Görünümünü Style sekmesinde düzenleyin (bkz. Widget'ları biçimlendirme).
Query bölümü
Kontrol | Varsayılan | Etki |
|---|---|---|
Post type | Post (veya ilk herkese açık tür) | Ek dosyalar dışındaki herhangi bir herkese açık yazı türü. |
Posts per page | 6 | 1 ile 50 arası. |
Order by | Date | Date, Title, Last modified, Menu order, Random veya Field value. |
Order by field | yok | Şu seçenek için gösterilir: Field value. Yazılar bu alanın sütununa göre sıralanır; aynı değere sahip yazılarda en yeni olan önce gelir. |
Order | Descending | Descending veya Ascending. |
Only posts where | yok | Filtrelenecek bir alan (tek filtre). Filtre istemiyorsanız boş bırakın. |
Comparison | is equal to | is equal to, is not equal to, is greater than, is at least, is less than, is at most, contains, does not contain, has a value veya is empty. |
Value | boş | Karşılaştırılacak değer. has a value ve is empty için gizlenir. |
Leave out the current post | On | Widget'ın bulunduğu yazıyı atlar; böylece bir "related posts" ızgarası kendisini listelemez. |
Filtre, Yazıları alan değerine göre sorgulama ile aynı sorguyu kullanır; bu nedenle gerçek sütun değerlerini karşılaştırır: sayılar sayı olarak karşılaştırılır (bir Number alanında 30'dan büyük koşulu çalışır), Select alanı saklanan değerini karşılaştırır (red) ve contains değerin içindeki metni arar.
Her zaman uygulananlar: yalnızca yayımlanmış yazılar, herkese açık bir yazı türünden; parola korumalı yazılar dışarıda bırakılır ve sabit yazılara özel bir yer verilmez.
Card bölümü
Card content, en fazla 30 öğeden oluşan bir listedir; her kart bunları bu sırayla gösterir. Varsayılan liste öne çıkan görsel, başlık (h3 olarak), özet (p olarak) ve bir düğmedir.
Öğe kontrolü | Gösterildiği öğeler | Etki |
|---|---|---|
Show | tümü | Featured image, Title, Excerpt, Date, Field veya Button. |
Field | Field | Yazdırılacak alan, "Group › Field" biçiminde listelenir. |
Output | Field | Formatted, Plain text, Link veya Image. Bkz. Elementor. |
Image size | Featured image, Field | Kayıtlı bir görsel boyutu (varsayılan Medium). |
HTML tag | Title, Excerpt, Field |
|
Label or button text | Field, Button | Field öğesi için: değerin önüne yazdırılan etiket. Button için: düğme metni (varsayılan "Read more"). |
Diğer kontrol | Varsayılan | Etki |
|---|---|---|
Link title and image to the post | On | Başlığı ve öne çıkan görseli yazıya bağlar. |
Excerpt length (words) | 20 | 5 ile 100 arası. |
Field öğeleri, her kartın kendi yazısının alanını yazdırır. Değeri olmayan bir öğe o kart için hiçbir şey yazdırmaz. Password alanları asla yazdırılmaz. Öne çıkan görseli olmayan bir kart görsel öğesini atlar.
Pagination bölümü
Kontrol | Varsayılan | Etki |
|---|---|---|
Pagination | None | None, Page numbers veya Load more button. |
Button text | Load more | Şu seçenek için gösterilir: Load more button. |
When nothing is found | Nothing found. | Hiçbir yazı eşleşmediğinde yazdırılan metin. Boş bırakılırsa hiçbir şey yazdırılmaz. |
None
Yalnızca ilk sayfayı gösterir (en fazla Posts per page).
Page numbers
Izgaranın altına Previous ve Next ile numaralı bağlantılar yazdırır. Bir bağlantı, sayfayı widget'ın adını taşıyan bir sorgu bağımsız değişkeniyle yeniden yükler (?wpmcf-grid-<element id>=2); böylece aynı sayfadaki birden çok ızgara birbirinden bağımsız sayfalanır. Bağlantılar yalnızca birden fazla sayfa olduğunda görünür.
Load more button
İlk sayfayı ve bir düğme yazdırır. Düğmeye tıklamak sonraki sayfayı getirir ve kartları sayfayı yeniden yüklemeden mevcut kartların altına ekler. Klavye odağı ilk yeni karta geçer, düğme yükleme sırasında devre dışı kalır ve son sayfadan sonra kaldırılır; bir istek başarısız olursa düğme yerinde kalır, böylece yeniden deneyebilirsiniz.
Geliştiriciler ve önbellek kullanıcıları için nasıl çalışır:
- Widget'ın ayarları, widget'ın bulunduğu yazının kimliğiyle birlikte sayfaya imzalı bir payload (sitenizin güvenlik anahtarlarıyla HMAC) olarak yazılır. İstek şu biçimdedir:
GET /wp-json/wpmcf/v1/builders/grid?payload=…&signature=…&page=N. - Rota herkese açık ve anonimdir: yalnızca herkese açık türlerdeki yayımlanmış yazıları, sunucunun sayfa oluşturulurken imzaladığı ayarlarla listeler. Ziyaretçi sorguyu değiştiremez. Yanıt şu biçimdedir:
{ "html": "…", "hasMore": true|false }. page, 2 ile 500 arasında bir sayı olmalıdır (1. sayfa zaten sayfadadır). Hatalı biçimlendirilmiş bir istek (12.000 karakteri aşan veya harf, rakam,-ve_dışında karakter içeren bir payload, 64 onaltılık karakter olmayan bir imza, eksik bir değer ya da 2 ile 500 dışında bir sayfa) HTTP 400 ile yanıtlanır. İmzası payload ile eşleşmeyen bir istek HTTP 403 "This list cannot load more posts. Reload the page and try again." ile yanıtlanır. Son sayfanın ötesini istemek boşhtmlvehasMore: falsedöndürür.- İmza güvenlik anahtarlarınıza bağlı olduğundan, bir sayfayı uzun süre saklayan bir sayfa önbelleği, anahtarları
wp-config.phpiçinde değiştirdikten sonra çalışmayan payload'lar barındırabilir. O durumda önbelleği temizleyin. - "Load more" istekleri çerezsiz düz GET isteklerdir; bu nedenle sunucunuz veya CDN tarafından önbelleğe alınabilir.
Örnek: ilgili ürünler ızgarası
- Post type: Product. Posts per page: 3.
- Only posts where: Category (Select) is equal to
shoes. - Order by: Field value, Order by field: Price, Order: Ascending.
- Leave out the current post: On.
- Card content: Featured image, Title, Field (Price, label "From"), Button "View".
- Pagination: Load more button.
Lisans olmadığında
Yerleştirilmiş ızgaralar yazdırılmaya devam eder ve "Load more" çalışmayı sürdürür; yalnızca Elementor panelinden kalkarlar, dolayısıyla yenilerini ekleyemezsiniz. Bkz. Lisansın sona ermesi.
Sorun giderme
- Izgara "Nothing found." gösteriyor. Filtre yayımlanmış hiçbir yazıyla eşleşmiyor. Değeri (Select alanı saklanan değeri karşılaştırır), yazı türünü ve yazıların parola korumalı olmadığını kontrol edin.
- Izgara geçerli yazıyı listeliyor. Şu seçeneği açın: Leave out the current post.
- Önbelleğe alınmış bir sayfada sayfa numaraları işe yaramıyor. Önbellek, her
?wpmcf-grid-…adresi için ilk sayfayı sunuyor. Önbellek eklentisine sorgu dizelerini ayrı sayfalar olarak ele almasını söyleyin veya Load more button seçeneğini kullanın. - Load more "Reload the page and try again." diyor. İmza artık eşleşmiyor (örneğin güvenlik anahtarları değiştirildiği için) ya da önbelleğe alınmış sayfa değişiklikten eski. Sayfa önbelleğini temizleyin.
- Bir alana göre sıralama garip bir sıra veriyor. JSON olarak saklanan bir alan (checkboxes, repeater, gallery) saklanan JSON metnine göre sıralanır. Number, Date veya Text gibi düz sütunu olan bir alana göre sıralayın.
Hâlâ takıldınız mı? Destek ile iletişime geçin