Global Data
7 dk okuma
Global Data, site genelinde kullanılan adlandırılmış değerlerin listesidir. Her girdiye değişken denir: bir etiket, bir anahtar, bir tür ve bir değer. "Telefon numarası" değişkenini bir kez tanımlayın, üst bilgide, alt bilgide ve sayfa oluşturucuda yazdırın; değiştirmek gerektiğinde tek yerden güncelleyin.
Global Data'yı küçük, tekil değerler için kullanın. Kendi düzeni olan ilişkili alan grupları için (adres bloğu, sosyal bağlantılar, logo) bunun yerine alan grubu içeren bir seçenekler sayfası kullanın.
Global Data tüm planlarda kullanılabilir.
Ekranı açma
Şuraya gidin: WPM Fields › Global Data. Alt başlıkta "Site-wide values you can reuse in templates, field values and page builders." yazar. Hiç değişken yokken "No variables yet. Add a value such as a phone number or an address, then print it anywhere with {{ glb.key }}." mesajını görürsünüz.
Ekranı açabilmek ve REST API'sini kullanabilmek için manage_options yetkisi (yönetici) gerekir.
Değişken ekleme
- Şuna tıklayın: Add variable.
- Bir etiket yazın, örneğin "Telefon numarası". Satır yeniyken anahtar etiketten otomatik oluşturulur (
phone_number). Anahtarı düzenleyebilirsiniz. - Bir tür seçin (aşağıya bakın).
- Değeri yazın.
- Şuna tıklayın: Save changes. "Global Data saved." mesajını görürsünüz.
Her satırda etiket alanı, anahtar (eş aralıklı yazı tipiyle gösterilir), tür seçici ve dört simge düğmesi bulunur:
Simge | İşlem |
|---|---|
Revert changes | Satırı son kaydedilen durumuna döndürür. Hiçbir şey değişmediyse devre dışıdır. |
Edit value / Show value summary | Tek satırlık özet ile tam girdi alanı arasında geçiş yapar. Değeri boş olan satırlarda tam girdi alanı otomatik açılır. |
Advanced options | Şu sekmeleri açar: General, Validation ve Display. |
Remove variable (kaydedilmemiş satır için Discard new variable) | Kaydettiğinizde satırı siler. |
Kaydedilmemiş değişiklikler korunur: ekrandan ayrılırken onay istenir.
Anahtarlar
- Anahtar, kodda kullandığınız değerdir:
wpmcf_get_global( 'phone_number' ),{{ glb.phone_number }}. - Anahtar; yalnızca küçük harf, rakam, tire ve alt çizgi kalacak şekilde temizlenir (en fazla 64 karakter). Boşluk dahil diğer karakterler dönüştürülmez, kaldırılır:
Site Nameolarak yazılan anahtarsitenameolur. - Kaydedilmiş bir değişkenin anahtarını değiştirdiğinizde "Changing this key may break references that use it elsewhere on the site." uyarısı görünür.
- Her anahtar benzersiz olmalıdır. Hatalar: "Label is required.", "Key is required.",
Duplicate key "phone". Sunucu temizlemeden sonra da kontrol eder; bu yüzdenPhonevephoneçakışır: "Each variable needs its own key. Used more than once: phone". - Satırlarda hata varsa "Fix the errors before saving." mesajı görünür.
- Bir site en fazla 500 değişken barındırabilir; bir etiket en fazla 200 karakter olabilir.
Tüm değişkenler tek bir liste olarak birlikte kaydedilir. PUT /wp-json/wpmcf/v1/global-data REST uç noktası listenin tamamını değiştirir; bu nedenle isteğin, tutmak istediğiniz her değişkeni içermesi gerekir.
Değişken türleri
Tür | Girdi | Çıktı ( | Notlar |
|---|---|---|---|
Text | tek satır | kaçışlanmış metin | Varsayılan. |
Text area | çok satırlı | kaçışlanmış metin, satır sonları saklanan değerde korunur | |
Number | sayı girdisi | kaçışlanmış metin | |
Range | kaydırıcı | kaçışlanmış metin | Kaydırıcı, Validation sekmesindeki Min value, Max value ve Step değerlerini kullanır (varsayılanlar 0, 100, 1). |
e-posta girdisi | kaçışlanmış metin | ||
URL | URL girdisi | URL kaçışlı | |
Password | maskelenmiş girdi | yazdırılmaz | Aşağıya bakın. |
Değerler kaydedilirken temizlenir: HTML etiketleri kaldırılır, baştaki ve sondaki boşluklar silinir. Parola değerleri bunun dışındadır, aşağıya bakın.
Parola değişkenleri
Sayfaya asla ulaşmaması gereken değerler (API anahtarları, token'lar, gizli anahtarlar) için Password türünü kullanın.
- Değer, veritabanında şifrelenir (
sodiumsecretbox; anahtar sitenizinSECURE_AUTH_SALTdeğerinden türetilir) ve ekranda ile REST yanıtlarında********olarak gösterilir. Gerçek değer sunucudan hiçbir zaman çıkmaz. - Saklanan değeri korumak için alan
********gösterirken kaydedin. Değiştirmek için yeni bir değer yazın. Temizlemek için alanı boşaltın. - Şablonlarda
{{ glb.key }},wpmcf/global/the_passwordfiltresi true döndürmedikçe parolalar için boştur. wpmcf_the_global()ve[wpmcf_global],wpmcf/global/the_passwordfiltresi true döndürmedikçe parolalar için hiçbir şey yazdırmaz.wpmcf_get_global()gerçek değeri döndürür, çünkü PHP koduna güvenilir. Bu değeri asla sayfaya yazdırmayın.- Sitenizin güvenlik salt değerlerini değiştirirseniz mevcut parolaların şifresi çözülemez ve boş olarak okunur; bunları yeniden girin.
- Bir parola değişkeninin anahtarını yeniden adlandırıp aynı adımda kaydetmek, saklanan parolanın kaybolmasına yol açar (maske anahtara göre eşleştirilir). Yeniden adlandırmadan sonra parolayı tekrar girin.
- Parola değerleri yazıldığı gibi korunur (
<ve>dahil); şifrelenmiş olarak saklanır ve siz izin vermedikçe asla yazdırılmaz.
Parolaların yine de yazdırılmasına izin vermek için wpmcf/global/the_password filtresinden true döndürün. Bu durumda parolalar, auto dahil her biçimde HTML kaçışlı yazdırılır ve {{ glb.key }} da bunları döndürür. Bunu yalnızca özel ve önbelleğe alınmayan bağlamlarda yapın.
Advanced options
Bir satırda Advanced options düğmesine tıklayın. Üç sekme görünür.
General
Ayar | Etki |
|---|---|
Placeholder | Bu ekranda boş değer girdisinin içinde gösterilen ipucu. |
Instructions | "(shown alongside this variable)" Editörler için yardım metni. |
Validation
Kurallar türe göre değişir:
Tür | Kurallar |
|---|---|
Number, Range | Min value, Max value, Step (örneğin 0.5, 1, 10) |
Text, Text area, Password | Min length, Max length (karakter) |
Email, URL | "No extra validation rules available for the email type." |
Kurallar kaydederken denetlenir. Bir değer kuralı ihlal ederse kaydetme tümüyle başarısız olur, değişkeni belirten bir mesaj gösterilir ve hiçbir şey saklanmaz (REST durum kodu 422):
- Metin benzeri türler:
"Label" is shorter or longer than allowed. - Number ve Range:
"Label" must be a number.veya"Label" is outside the allowed range. - Boş değerler ve Password değişkenleri denetlenmez.
Range türü ayrıca kaydırıcısını çizmek için Min value, Max value ve Step değerlerini kullanır.
Display
"These settings control how the value is rendered on the front-end via a template tag." Canlı bir önizleme sonucu gösterir.
Ayar | Etki |
|---|---|
Wrapper CSS class | Sarmalayıcı span öğesine eklenir, örneğin |
Wrapper HTML ID | Span öğesinin |
Prefix | Değerin önüne eklenen metin (örneğin "Tel:"). |
Suffix | Değerin ardına eklenen metin (örneğin "USD"). |
Prefix ve suffix kaçışlanır ve baştaki ile sondaki boşlukları korur: "Tel: " öneki Tel: +90 555 yazdırır.
Display ayarları, sarmalama açıkken wpmcf_the_global() ve [wpmcf_global] için geçerlidir. wrap kapalıyken veya {{ glb.key }} içinde yalnızca kaçışlanmış değer çıktılanır.
Değişken yazdırma
Şablon fonksiyonları
// Echo, escaped, wrapped in <span class="wpmcf-global-value"> with the Display settings.
wpmcf_the_global( 'phone_number' );
// Echo only the escaped value.
wpmcf_the_global( 'phone_number', array( 'wrap' => false ) );
// Raw value for your own escaping.
$phone = wpmcf_get_global( 'phone_number' );
echo '<a href="tel:' . esc_attr( $phone ) . '">' . esc_html( $phone ) . '</a>';
// Does it have a value?
if ( wpmcf_has_global( 'promo_text' ) ) {
wpmcf_the_global( 'promo_text' );
}Fonksiyon | Döndürdüğü | Notlar |
|---|---|---|
| ham değer |
|
| yazdırır | Kaçışlanmış. Değişken yoksa veya boşsa, |
|
| Boş olmayan her değer için true döner. |
|
| Mevcut bir değişkenin değerini ayarlar. Bilinmeyen bir anahtar veya dizi için false döner. |
$args: format (auto, html, attr, url, js, post_html), wrap (false span öğesini kaldırır) ve default. Biçimler:
Biçim | Kaçışlama |
|---|---|
| Türe göre: URL değişkenleri |
|
|
|
|
|
|
|
|
|
|
wpmcf_update_global(), ekranda kaydetmek gibi wpmcf/global_data/saved hook'unu tetikler; böylece önbellek eklentileri önbelleği temizleyebilir.
Shortcode
[wpmcf_global key="phone_number"]
[wpmcf_global key="site_url" format="url" wrap="false"]Öznitelikler: key (zorunlu), format (varsayılan auto), wrap (varsayılan true) ve default. Shortcode, wpmcf_the_global() ile aynı kaçışlama üzerinden yazdırır.
default, değişken yoksa veya değeri boşsa kullanılır; bu durum shortcode'da, wpmcf_the_global() içinde ve wpmcf_get_global() içinde (boş değer için) geçerlidir. Örneğin [wpmcf_global key="phone" default="Call us"], telefon değişkeni boş olduğu sürece "Call us" yazdırır.
Değişkenler
Alan değerlerinde, şablonlarda ve sayfa oluşturucularda {{ glb.key }} bir global değeri yazdırır:
Call us on {{ glb.phone_number }}.
Welcome to {{ glb.site_name | upper() }}
{{ glb.promo | default('No promotion today') }}Bilinmeyen bir anahtar hiçbir şey yazdırmaz. İçinde {{ … }} bulunan değerler, döngüleri önlemek için bu ad alanında yeniden genişletilmez. Bkz. Değişkenler.
Hook'lar
Hook | Tür | Amaç |
|---|---|---|
| filtre | Değeri çıktıdan önce değiştirir. Bağımsız değişkenler: value, key, args. |
| filtre | Kaçışlanmış çıktıyı değiştirir. |
| filtre | Sarmalayıcı dahil son işaretlemeyi değiştirir. |
| filtre | Parola değişkenlerinin yazdırılmasına izin vermek için |
| eylem | Liste kaydedildi (düz değerler). Önbellekleri temizlemek için kullanın. |
Sınırlar ve notlar
- Tüm değişkenler tek bir ayar satırında tutulur. Küçük değerler için kullanın: bir değer uzunsa veya yapılandırılmışsa, seçenekler sayfasında bir alan grubu kullanın.
- Global Data, alan gruplarından ayrıdır. Alan gruplarının, yazı türlerinin, taksonomilerin ve seçenek sayfalarının JSON dışa aktarımına dahil değildir; bu nedenle değişkenleri staging veya canlı siteye elle kopyalayın (ya da oluşturduktan sonra
wpmcf_update_global()ile ayarlayın). - Kaldırma sırasında veriler yalnızca WPM Fields › Settings bölümünde bunu etkinleştirdiyseniz silinir.
Sorun giderme
Hiçbir şey yazdırılmıyor. Anahtar yanlış olabilir (anahtarlar alt çizgili küçük harflerdir), değer boş olabilir ya da değişken Password türünde olabilir.
Kaydettiğimde anahtar değişti. Boşluklar ve büyük harfler kaydederken kaldırılır veya küçük harfe çevrilir.
Kaydetme "Each variable needs its own key." hatasıyla başarısız oluyor. Temizlemeden sonra iki satır aynı anahtara sahip oluyor; birini yeniden adlandırın.
"Could not save Global Data. Try again." İstek başarısız oldu; REST API'sine erişilebildiğini ve oturumunuzun süresinin dolmadığını kontrol edin. Sayfayı yeniden yüklemek kaydedilmiş verileri kaybettirmez.
"Global Data could not be loaded". "Reload the page to try again. Nothing was changed." Bu durumda kaydetme devre dışıdır, böylece hiçbir şey üzerine yazılmaz.
Hâlâ takıldınız mı? Destek ile iletişime geçin