Sorun giderme
5 dk okuma
İlk adımlar
- Şunları açın:
WP_DEBUGveWP_DEBUG_LOG(wp-config.phpiçinde). Başarısız olan her ifade şuraya kaydedilir:wp-content/debug.log:
[wpmcf] Variable resolution failed — "{{ 1 + 2 }}" — Unexpected character: +Hatalar ziyaretçiler ve editörler için sessizdir; hata ayıklama olmadan blok yalnızca boş görünür.
- İfadeyi tek başına, bir şablonda veya WP-CLI ile test edin:
wp eval 'echo wpmcf_resolve_variables( "{{ glb.phone | default(\"missing\") }}" );'- Motorun bildiklerini listeleyin (adlar küçük harftir):
$registry = wpmcf_variable_registry();
var_dump( $registry->getRegisteredNamespaces(), $registry->getRegisteredFilters(), $registry->getRegisteredFunctions() );İfade hiçbir şey yazdırmıyor
Neden | Kontrol | Çözüm |
|---|---|---|
Sözdizimi hatası |
| Bkz. Sözdizimi. Sık görülenler: aritmetik ( |
Negatif sayı sabiti |
|
|
Bilinmeyen anahtar |
| Anahtarı kontrol edin. Bilinmeyen adlar tasarım gereği boştur; yedek değeri görmek için |
Tire içeren veya rakamla başlayan eski bir anahtar |
| Bu tür anahtarların yeni kayıtları reddedilir ( |
Değer bir parola | Bir Password alanı veya bir parola Global Data değişkeni | Şablonda asla kullanılamaz. Bkz. Güvenlik. |
Nesne yok |
| Bir bağlam geçirin: |
| WooCommerce etkin değil veya nesne bir ürün değil | Yalnızca ürün bağlamlarında kullanın. |
Blok çok uzun veya çok derin | 1000 karakterden, 5 iç içe bloktan veya 32 düzeyden fazla | Birkaç bloğa bölün veya mantığı PHP'ye taşıyın. |
Bir fonksiyon başka bir ad alanı üzerinden çağrıldı |
| Fonksiyonlar şöyle çağrılır: |
Süslü parantezler sayfada görünüyor
Metin saklandığı gibi yazdırıldı: değer değerlendirilmedi.
Neden | Çözüm |
|---|---|
Yazının yazarında | Güvenilir bir kullanıcının değeri kaydetmesini sağlayın veya |
Değer bir yorum alanı | Asla değerlendirilmez. Bir yazı, terim, kullanıcı veya seçenek değeri kullanın. |
Metin bir Group, Repeater veya Flexible content alanının içinde | Yalnızca üst düzey metin değerleri değerlendirilir. İfadeyi grubun kendi şablon metnine koyun veya alt değeri şununla okuyun: |
Metin yazı içeriği veya bir başlık | Çekirdek içerik değerlendirilmez. Bunun yerine |
Metin REST, GraphQL, bir dışa aktarma dosyası veya bir yönetim liste sütunu üzerinden okunuyor | Bunlar saklanan metni gösterir. |
Süslü parantezler bir değişkenin içinden geliyor | Kendisi |
Editörde bir Elementor widget'ı gösteriliyor | Elementor'un JavaScript şablonlarıyla önizlediği widget'lar (Heading, Button) editörde ham metni gösterir. Canlı sayfa bunu çözümler. |
Bir blok hiç kapatılmadı ( | Kapanış |
Çıktı yanlış değer
Belirti | Neden | Çözüm |
|---|---|---|
Bir sayı biçimlendirilmiyor | Değer sayısal değil ( | Düz sayılar saklayın; şununla biçimlendirin: |
|
| Değeri metin olarak saklayın (bir Text alanı, bir Global Data metin değişkeni) |
| Şuna benzer bir değer: | Tarihleri şu biçimde saklayın: |
|
| Şunu kullanın: |
| Yalnızca ilk karşılaştırma veya üçlü operatör okunur | Şunu kullanın: |
|
| İhtiyacınız olanı şununla okuyun: |
| Değer bir terim değeri değil ve | Bir terim alanı değerinde kullanın veya |
| Her seferinde değerlendirilirler | Önbelleğe alınan sayfalarda kullanmayın |
Bir tarih İngilizce | Tarihler site dilini kullanır (Settings › General) | Site dilini değiştirin |
| Listeler şu ayraçla birleştirilerek yazdırılır: |
|
Çıktı HTML içeriyor veya işaretlememi bozuyor
Değişken sonuçları escape edilmez. Bir şablonda çıktıda escape edin:
echo esc_html( wpmcf_resolve_variables( '{{ glb.company }}' ) );wpmcf_the_field() ve [wpmcf_field] sizin yerinize escape eder. Bir ifadede şunları kullanın: \| escape, \| esc_attr veya \| strip_tags. Bkz. Güvenlik.
Bir sayfa herkese tek bir kişinin adını gösteriyor
Sayfa önbelleğe alınmamalıdır. Eklenti, bir wp.user_* değişkeni yazdıran bir ön yüz sayfasını zaten önbelleğe alınamaz olarak işaretler (DONOTCACHEPAGE ve no-cache başlıkları). Önbellek katmanınız ikisini de yok sayıyorsa (bir CDN veya sunucu düzeyinde önbellek), o URL'yi önbellekten hariç tutun veya sayfadan wp.user_* ifadesini kaldırın.
Özel ad alanım, filtrem veya fonksiyonum hiçbir şey yapmıyor
Neden | Çözüm |
|---|---|
Şu dinleyici çok geç eklendi: | Eklenti dosyanız yüklenirken veya |
Çözümleyici şunu döndürüyor: |
|
Ad kullanımda veya ayrılmış |
|
Adda tire var veya rakamla başlıyor | Adlar harf, rakam ve alt çizgiden oluşur ve bir harfle başlar. |
fn.option() hiçbir şey döndürmüyor
Seçenek izin listesinde değil. Bkz. Filtreler ve fonksiyonlar. Herkese açık güvenli bir seçeneği şununla ekleyin: wpmcf/variables/allowed_options.
Bir hook tetiklenmiyor
Neden | Çözüm |
|---|---|
Yanlış argüman sayısı | Şunun dördüncü argümanını geçirin: |
Dinleyici çok geç eklendi | Kayıt hook'ları ( |
Hook, ücretsiz bir sürümde veya lisanslanmamış bir sitede bir Pro hook'u | Başvuruda Pro olarak işaretlenen hook'lar yalnızca Pro koduyla ve bir lisans ya da deneme ile vardır. |
Hook adı zamanlanmış bir action |
|
| Bu, eklentinin yalnızca dinlediği, sizin tetiklediğiniz bir hook'tur. |
Filtre hiçbir şey döndürmüyor | Bir filtre değeri döndürmelidir. Eksik bir |
Bir istek sırasında hata ayıklarken tetiklenen her wpmcf/ hook'unu görmek için:
add_action( 'all', function ( $hook ) {
if ( str_starts_with( $hook, 'wpmcf/' ) ) {
error_log( 'hook: ' . $hook );
}
} );Hâlâ takıldıysanız
Eklentide Settings › Health ekranını açın: eklentinin yakaladığı hataları modül, dosya ve satır bilgisiyle listeler. Bkz. Health ve sorun giderme.
Hâlâ takıldınız mı? Destek ile iletişime geçin