Bloklar ve Block Bindings
5 dk okuma
Blok düzenleyicide alan değerlerini göstermenin, ikisi de ücretsiz olan iki yolu vardır:
WPM Field bloğu ( | WPM Fields Block Bindings kaynağı ( | |
|---|---|---|
Nedir | Kendi başına dinamik bir blok | Çekirdek (core) blokların öznitelikleri için bir veri kaynağı |
En uygun kullanım | Bir alanı önek, sonek, yedek değer, bağlantı veya görselle yazdırmak | Bir paragrafı, başlığı, düğmeyi veya görseli alanın kendisi yapmak |
Çıktı |
| çekirdek bloğun kendi işaretlemesi |
Query Loop içinde çalışır | evet | evet |
İkisi de geçerli yazıyı veya bir Query Loop içindeki her yazıyı okur ve aynı alan kataloğunu kullanır. Password alanları hiçbirinde görünmez.
Referanslar: group.field[.path]
İkisi de group_key.field_key biçiminde bir alan referansı alır; isteğe bağlı olarak ardından bir Group veya Repeater değerinin içine giden bir yol eklenebilir:
listing.price
listing.details.city (Group field "details", sub-field "city")
listing.items.0.name (Repeater "items", first row, sub-field "name")Referanslar küçük harfe çevrilir ve her bölüm için sanitize_key() ile temizlenir. Görünür bir alanı belirtmeyen referans boş görüntülenir. Yalnızca seçenek sayfalarında yer alan bir grup, seçenek değerini okur ve yazı gerektirmez.
WPM Field bloğu
Önce WPM Field bloğunu (kategori Text, anahtar sözcükler "custom field", "meta", "dynamic") ekleyin ve kenar çubuğundan bir alan seçin. Blok dinamiktir: her seferinde sunucuda oluşturulur.
Öznitelikler
Öznitelik | Tür | Varsayılan | Açıklama |
|---|---|---|---|
| string |
| Alan referansı. Boşsa hiçbir şey yazdırılmaz (veya yedek değer yazdırılır). |
|
|
| Aşağıya bakın. Diğer tüm değerler |
| string |
| Değerden önceki metin, |
| string |
| Değerden sonraki metin, |
| string |
| Görsel için görsel boyutu adı ( |
| string |
| Bağlantı için etiket ( |
| string |
| Değer boş olduğunda değerin yerine yazdırılır (kaçışlanır). Yedek değere önek ve sonek eklenmez. |
Blok desteği: geniş/tam/sol/orta/sağ hizalama, kenar boşluğu, iç boşluk, yazı boyutu, satır yüksekliği, metin ve arka plan rengi, bağlantı rengi.
Kaydedilen içerikte:
<!-- wp:wpmcf/field {"field":"listing.price","prefix":"From ","suffix":" EUR","fallback":"Ask for a price"} /-->Biçimler
| Çıktı |
|---|---|
| Alan türünün kendi biçimlendirilmiş, kaçışlanmış HTML'i (Select için etiket, Link için |
| Değer düz metin olarak, kaçışlanmış halde. Türün eklediği işaretleme atılır. |
|
|
| Image alanının görseli (veya galerinin ilk görseli), |
Sarmalayıcı: sonucun tamamı <div class="wp-block-wpmcf-field"> içindedir (ayrıca bloğun hizalama, renk ve boşluk sınıfları). Yazdırılacak bir şey ve yedek değer yoksa hiç işaretleme üretilmez.
Metin değeri Hello <x> & "y" için doğrulanmış çıktılar (şu şekilde saklanır: Hello & "y"):
<div class="wp-block-wpmcf-field">Hello & "y"</div>
<div class="wp-block-wpmcf-field"><span class="wpmcf-field-block__prefix"><P> </span>Hello ...<span class="wpmcf-field-block__suffix"> S</span></div>Hangi yazı
Blok, varsa Query Loop öğesini (postId blok bağlamı), yoksa geçerli yazıyı (get_the_ID()) kullanır. Değerler yalnızca görüntüleyen kişi o yazıyı görebiliyorsa gösterilir; kural WordPress'in kendi yazı meta bağlamasıyla aynıdır: yazı herkese açık olarak görüntülenebilir ya da kişi read_post yetkisine sahiptir ve yazı parola korumalı değildir. Aksi halde blok hiçbir şey yazdırmaz (veya yedek değerini yazdırır).
"WPM Fields" Block Bindings kaynağı
Kaynak olarak wpmcf/field adıyla, etiketi WPM Fields olacak şekilde kayıtlıdır (WordPress 6.5+). Düzenleyicide bir çekirdek blok seçin, Attributes panelini açın ve bir özniteliği bir alana bağlayın; alan listesi Password ve yerleşim alanları dışındaki tüm alanları gösterir. Kaydedilen içerikte bağlama, blok meta verisidir:
<!-- wp:paragraph {"metadata":{"bindings":{"content":{"source":"wpmcf/field","args":{"key":"listing.title"}}}}} -->
<p>Placeholder</p>
<!-- /wp:paragraph -->args.key alan referansıdır.
Her özniteliğin aldığı değer
Öznitelik | Değer |
|---|---|
| alanın URL'si (URL, Link, Email, File, Image, Page link, Post object, oEmbed alanları; aksi halde boş) |
| Image alanının ek dosya kimliği (ID) |
| görsel URL'si (olmazsa alanın URL'sine döner) |
| ek dosyanın alternatif metni (olmazsa alanın metnine döner) |
diğer her şey ( | alanın düz metni |
URL'ye benzemeyen (düz metin) bir alana yapılan url/href bağlaması boş URL verir (doğrulandı).
Zengin metin öznitelikleri (örneğin paragrafın content özniteliği) metni HTML kaçışlı alır; dolayısıyla düz bir < metin olarak kalır (doğrulandı: a < b & c şu şekilde görüntülenir: a < b & c). Çekirdeğin öznitelik olarak yazdırdığı değerleri çekirdek kendisi kaçışlar.
Doğrulanmış örnekler:
Blok ve bağlama | Görüntülenen |
|---|---|
paragraph |
|
heading |
|
button |
|
button | Link alanının URL'si |
image | ek dosyanın |
bir Password veya bilinmeyen alana bağlı paragraph | boş bir paragraf |
yalnızca seçenek sayfalarında yer alan bir gruba bağlı paragraph | seçenek değeri (görüntüleyen kişi görebiliyorsa) |
Eksik bir alan, bilinmeyen bir referans veya gizli bir yazı boş değer verir: yer tutucu metin korunmaz, dolayısıyla blok boş görüntülenir.
Hangi yazı
Blokla aynıdır: Query Loop öğesi, yoksa geçerli yazı; görüntüleyen kişi görebiliyorsa, aksi halde boş.
Seçenek sayfası değerleri
Yalnızca seçenek sayfalarında gösterilen bir grubun alanına yapılan referans, yazı olsun ya da olmasın hem blokta hem bağlamalarda çalışır. Yazı içeriğinde, yazının yazarı seçenek yetkisine sahip olmalıdır (varsayılan olarak manage_options, ya da wpmcf/options/capabilities filtresinin döndürdüğü yetki); kural shortcode ile aynıdır. REST istekleri sırasında yazı içeriği dışında (düzenleyici önizlemeleri) bu yetki geçerli kullanıcıda aranır.
Düzenleyici REST rotaları (dahili)
Düzenleyici betiği verileri iki wpmcf/v1 rotasından yükler. Bunlar blok arayüzü içindir, herkese açık bir API değildir.
Rota | Yöntem | Yetki | Amaç |
|---|---|---|---|
| GET |
| Bir kullanım türü için alan kataloğu ( |
| POST |
| Bağlama önizlemesi için canlı değerler: |
Doğrulandı: yönetici ve editör 200, abone 403, oturum açmamış istek 401 alır.
Sorun giderme
Belirti | Neden |
|---|---|
Blok sitede hiçbir şey göstermiyor ama düzenleyicide çalışıyor | Alan boştur, yazı görüntüleyen kişi için özel veya parola korumalıdır ya da bir yazının dışındasınız ( |
Alan seçicide görünmüyor | Alan bir Password veya yerleşim (tab, accordion) alanıdır ya da alan grubu etkin değildir. |
Attributes panelinde "WPM Fields" yok | Blok bağlamaları desteklemiyor veya WordPress 6.5'ten eski (eklenti 6.6 gerektirir). |
Bir image alanı dosya URL'sini metin olarak yazdırıyor | Blokta |
Sayfa oluşturucu karşılıkları (Elementor, Bricks, Divi, Breakdance, Oxygen) Entegrasyonlar bölümündedir.
Hâlâ takıldınız mı? Destek ile iletişime geçin