Genel bakış ve gereksinimler
MevvForms Free yerel çalışma zamanıdır. Yayımlanmış form sürümlü WordPress form kaydından okunur; gerçek etiketler ve hata ilişkileriyle basılır, sunucuda yeniden doğrulanır, yerelde saklanır ve dayanıklı bildirim kuyruğuna aktarılır.
- WordPress
- 6.6 veya yenisi; WordPress 7.1’e kadar sınanır.
- PHP
- 8.1 veya yenisi; sürüm matrisi PHP 8.1–8.5’i kapsar.
- Veri sınırı
- Form tanımları, gönderimler ve kuyruk işleri varsayılan olarak WordPress sitesinde kalır.
- Tablolar
- Kendine ait on üç tablo: gönderimler ve tiplenmiş değerleri, iş kuyruğu, dosyalar, yarım kalmış gönderimler, bildirim kaydı, iki analitik sayacı, içerik bağları, stok, indirim kodları, ödemeler ve ödeme olayları.
- Zamanlanmış işler
- Saatte bir çalışan iki iş. Biri saklama süresini uyguluyor, diğeri bildirimleri, ertelenmiş beslemeleri ve dışa aktarmaları taşıyan tek iş kuyruğunu boşaltıyor — her özellik için ayrı bir zamanlanmış görev yerine tek kuyruk.
- Çeviri dosyaları
- Eklentiyle on dokuz WordPress yerel ayarı geliyor, kaynak katalogları dahil.
Ücretsiz paket ziyaretçi formu gösterirken veya gönderirken lisans, telemetri, yapay zekâ ya da güncelleme için dış servise istek atmaz.
Kurulum
- Geri yüklenebilir veritabanı ve wp-content yedeği alın.
- MevvForms Free ZIP paketini yükleyip etkinleştirin.
- MevvForms tablolarının oluştuğunu ve yöneticinin başlangıç ekranını açabildiğini doğrulayın.
- Geçiş ön izlemesi, içe aktarma ve sağlık kontrolleri bitene kadar kaynak form eklentisini açık tutun.
- Kaydedilmiş form yayımlanmış bir Pro modülü kullanıyorsa aynı sürümdeki Pro yardımcısını kurun.
Pro kuruluyken Free paketini kaldırmayın. Kaydedilmiş formun çalışma zamanı Free tarafındadır; Pro onu genişletir.
Form kurucu
Alanlar sürüklenerek yerine konuyor ve farenin yaptığı her şeyi klavye de yapabiliyor. Alan eklemek, seçmek ve kaldırmak sıradan düğmeler, yani Enter ile boşluk zaten çalışıyor; alan taşımanın ise kendine ait tek bir kısayolu var: Ctrl ile yukarı ya da aşağı ok, ki bu da sürüklemeyle birebir aynı taşımayı çağırıyor. Her değişiklikten sonra odak üzerinde çalıştığınız karta geri konuyor ve bir canlı bölge ne olduğunu duyuruyor — “E-posta 2. sıradan 9 içinde 5. sıraya taşındı” — böylece sıralama görmeden de izlenebiliyor.
Sütunlar bir yerleşim aracı ve tek bir kuralı var: okuma sırası alan sırasıyla aynı kalmak zorunda. Bu, CSS'e bırakılmadan sunucuda denetleniyor. Alanları sayfaya şemadakinden farklı bir sırada yerleştirecek bir düzen basılmıyor, hatayla geri çevriliyor; çünkü ekran okuyucuyla gören ziyaretçi aynı formu almak zorunda.
- Otomatik kaydetme
- Taslak, yazmayı bıraktıktan yaklaşık iki buçuk saniye sonra formun kendi taslak kaydına yazılıyor. Yayımlanmış forma hiç dokunmuyor ve WordPress sürümü yaratmıyor; yani otomatik kaydetme kazayla bir şey yayımlayamıyor.
- Sürümler
- Kaydetme kendine ait bir sistem yerine WordPress'in kendi sürüm sistemini kullanıyor, yani sürümler WordPress'i anlayan başka her şeye de görünüyor. Kurucu en yeni elli tanesini listeliyor ve herhangi birini geri yüklüyor.
Kurucuda geri alma ya da yineleme yok. Geri dönüş yolu daha eski bir sürümü geri yüklemek ve bu, son işlemi değil formun tamamını geri getiriyor. Büyük bir değişiklik yapacaksanız önce kaydedin ki dönülecek bir sürüm olsun.
Alan türleri
Beş grupta otuz sekiz alan tipi. Hepsi ücretsiz pakette — imza, tekrarlayıcı, matris ve quiz dahil.
- Temel
- Tek satır metin, paragraf metni, e-posta, doğrulamalı e-posta, telefon, web adresi, sayı, parola, gizli değer.
- Seçim
- Açılır liste, çoklu seçimli açılır liste, radyo grubu, onay kutusu grubu, tek onay kutusu, açık rıza, puanlama, sıralama, kaydırıcı.
- Gelişmiş
- Ad, adres, tarih, saat, tarih ve saat, renk, dosya yükleme.
- Ödeme
- Hesaplama, sipariş toplamı, ürün, indirim kodu.
- Yerleşim
- Başlık, bölüm ayracı, ayırıcı, içerik bloğu, sayfa ayracı. Bunlar girdi taşımıyor ve saklanan bir değer üretmiyor.
Parola alanı basılıyor ve doğrulanıyor ama değeri hiçbir zaman bir gönderime yazılmıyor. Saklanmayacak diye işaretlenmiş hiçbir alan da yazılmıyor. Hesaplama ve toplam alanları ekranda bir kutu gösteriyor, ama değerleri tarayıcıdan gelmiyor: sunucu formülü yeniden çalıştırıp geleni üzerine yazıyor.
Şablonlar
Bitmiş bir ürün değil başlangıç noktası olarak düşünülmüş yirmi sekiz hazır form: iletişim, teklif isteği, iş başvurusu, etkinlik kaydı, memnuniyet anketi, destek talebi, randevu talebi, bülten kaydı, ürün siparişi, şikâyet, bağış, masa rezervasyonu, üyelik kaydı, test, anket, dosya gönderimi, referans, ayrılış anketi, bakım talebi, toplantı planlama, kurs kaydı, veli onayı, tavsiye anketi, konaklama rezervasyonu, gönüllü kaydı, hata bildirimi, tedarikçi kaydı ve geri arama talebi.
Şablon yeni forma kopyalanıp sonra düzenleniyor; canlı bir bağ değil, yani bir şablonu sonradan değiştirmek ondan üretilmiş formları değiştirmiyor.
Formu gösterme ve gönderme
Yayımlanmış formu [mevvforms id="123"] ile yerleştirin. Gösterici kararlı alan kimlikleri, gerçek etiketler, açıklamalar, hata özeti hedefi ve güncel form sürümüne bağlı imzalı oturum basar.
Blok düzenleyicide aynı şey bir blok — MevvForms Form — ve önizlemesi bir yaklaşıklık değil: düzenleyici bloğu sunucuya bastırıyor, sunucu da onu ön yüzün kullandığı kodun tam olarak kendisiyle basıyor. Düzenleyicide gördüğünüz şey sayfanın kendisi.
- Zorunluluk ve doğrulama kuralları sunucunun sahip olduğu şemadan alınır.
- Gizli veya bilinmeyen istemci değerleri sunucu kuralını gevşetemez.
- Geçerli gönderim, herhangi bir bildirim yan etkisinden önce entry kaydını oluşturur.
- Yanıt kayıtlı alan değerlerini değil yapılandırılmış mesajı veya güvenli yönlendirmeyi taşır.
Sayfa açıldıktan sonra form değiştiyse imzalı oturumun güncel sürümle eşleşmesi için göndermeden önce sayfayı yenileyin.
Koşullu mantık
Bir alan, başka alanların değerine göre gösterilebiliyor ya da gizlenebiliyor; VE ile VEYA grupları on düzeye kadar iç içe geçebiliyor. On dört operatör var: eşittir, eşit değildir, içerir, içermez, ile başlar, ile biter, boştur, boş değildir, büyüktür, küçüktür, büyük ya da eşittir, küçük ya da eşittir, şunlardan biridir ve şunlardan biri değildir.
Koşullar her gönderimde sunucuda yeniden değerlendiriliyor. Tarayıcının gizlediği bir alan yine de elle gönderilebilir; yani tarayıcıda gizlemek bir kolaylıktır, asla bir kural değil. Aynı değerlendirme hangi alanların doğrulama, saklama ve bildirim gövdesi için var olduğuna da karar veriyor — bunun sonucu olarak form JavaScript kapalıyken de doğru davranıyor, yalnız canlı gösterme ve gizleme olmadan.
Çok adımlı formlar ve kaydet-devam et
Bir sayfa ayracı tek formu birkaç adıma bölüyor. Sıradan bir yerleşim alanı, yani uzun bir form başka bir şeye dönüştürülerek değil bir alan eklenerek çok adımlı hâle geliyor.
Kaydet-devam et yarım kalmış bir gönderimi saklıyor ve ziyaretçiye ona dönecek bir bağlantı veriyor. Bağlantı imzalı bir jeton taşıyor — kayıt kimliği ve onun üzerinde bir HMAC — ve imza sitenin kendi sırrından üretiliyor. Veritabanındaki hiçbir şey tek başına bir jeton üretmeye yetmiyor, karşılaştırma sabit sürede yapılıyor ve bağlantı otuz gün sonra geçersiz oluyor.
Kimlik bilgisi jetonun kendisi: giriş gerekmiyor ve çerez konmuyor, yani bağlantıyı elinde tutan herkes o gönderime devam edebilir. Bir devam bağlantısına parola sıfırlama bağlantısı gibi davranın — kişiye gönderin, ortak bir gelen kutusuna değil.
Gönderimler ve gizlilik sınırı
Entry kayıtları ve türlenmiş alan izdüşümleri ayrı yerel tablolarda tutulur. Parola, kart verisi, CVV, WordPress nonce değeri, oturum jetonu ve store=false işaretli alanlar entry değerlerine hiçbir zaman yazılmaz.
- Hız sınırı gerektiğinde IP adresi yalnız siteye özgü HMAC özetle temsil edilir.
- Metin, sayı ve tarih izdüşümleri asıl alan kimliğini değiştirmeden sonraki aramayı destekler.
- Entry veya outbox yazımı başarısızsa gönderim işleminin tamamı geri alınır.
- Üretim kanıtı yalnız form, entry ve iş kimliğini kaydeder; gönderilen alan değerini kaydetmez.
Gönderim listesi saklanan değerlerde arıyor; duruma, okundu ve yıldızlı durumuna ve tarih aralığına göre süzüyor; okundu, okunmadı, yıldızla, yıldızı kaldır, spam, çöp, geri al ve sil işlemlerini seçili kayıtlara toplu uyguluyor. Bunların her biri yetkilerinize karşı ayrı ayrı denetleniyor, yani gönderimleri okuyabilen ama silemeyen bir rol toplu işlemle de silemiyor.
- Doğru açılan CSV
- Dosya bir bayt sırası imiyle başlıyor; Excel'in onu UTF-8 diye okumasını sağlayan şey bu — o olmadan Türkçe karakterler bozuk geliyor ve alışkanlıkla kodlama yerine dışa aktarma suçlanıyor.
- Çalışamayan CSV
=,+,-,@, sekme ya da satır başı ile başlayan bir değerin önüne kesme işareti konuyor. Bu karakterler hesap tablosunun gönderilmiş bir değeri formül sanmasına yol açıyor ve o değeri bir yabancının seçtiği yer tam olarak bir form.
Bildirimler ve onaylar
Bildirimler dayanıklı işlerdir. E-posta kesintisi kabul edilmiş entry kaydını silemez: geçici hatalar sınırlı gecikmelerle yeniden denenir, kalıcı yapılandırma hataları yönetici işlemi için durur.
Bir form birden çok bildirim taşıyabiliyor; her birinin kendi alıcıları, konusu, gövdesi ve koşulu var. Alıcılar sabit adresler, ziyaretçinin doldurduğu bir alandan alınan adresler ya da bir alan değerine göre seçilen yollar olabiliyor — ve eşleşen her yol kullanılıyor, yalnız ilki değil; çünkü aynı anda hem satışa hem desteğe ulaşan bir form hata değil normal durum. Otomatik yanıt, aynı düzeneğin formu dolduran kişiye çevrilmiş hâli.
- Başlıklar
- Alıcılar ve başlık merge tag değerleri doğrulanır; CR/LF ekleme girişimi temizlenir.
- Gövde
- HTML çıktı bağlamına göre kaçırılır veya süzülür.
- Onay
- Mesaj, aynı site sayfası ve izinli yönlendirme kararı kaydedilmiş şemadan seçilir.
- Tekillik
- Aynı bildirim iş anahtarı aynı yan etkiyi iki kez üretemez.
- Teslim kaydı
- Her deneme için bir satır: hangi form, gönderim, bildirim ve iş; gönderildi mi başarısız mı oldu; kaçıncı denemeydi; alıcılar, konu, hata kodu ve mesajı. Başarısız bir satır ekrandan yeniden gönderilebiliyor.
Kayıt neyin denendiğini tutuyor, neyin teslim edildiğini değil. Posta WordPress'e, oradan da sunucunuza veriliyor; gönderildi işaretli bir satır siteden çıktığı anlamına gelir, gerisini yalnız karşı taraftan gelen bir geri dönüş söyleyebilir.
Spam koruması
Kurduğunuz andan itibaren iki savunma açık: bir kişinin hiç görmediği bir bal küpü alanı ve üç saniyeden kısa sürede gönderilen formu reddeden bir zaman denetimi. İkisi de ziyaretçiye hiçbir şeye mal olmuyor ve yardımcı teknolojiyi bozmuyor; varsayılan olmalarının sebebi de bu, bir bulmaca olmamaları.
Bunun ötesindeki her şey isteğe bağlı ve siz açana kadar kapalı: reCAPTCHA v2 ve v3, hCaptcha, Cloudflare Turnstile ve Akismet; ayrıca tümüyle kendi sunucunuzda çalışan anahtar kelime, adres ve ülke kuralları.
Spam sayılan gönderim işaretleniyor, silinmiyor. Bal küpüne düşen, CAPTCHA'yı geçemeyen ya da düşük puan alan ve Akismet'in spam dediği gönderimler spam durumuyla saklanıyor; okuyup fikrinizi değiştirebiliyorsunuz — çünkü yanlışlıkla atılmış bir talebin bedeli, bakmak zorunda olduğunuz bir satırın bedelinden çok daha yüksek. İki istisna zaman denetimi ile hız sınırı: bunlar isteği daha ortada bir gönderim yokken reddediyor; işaretlenecek bir şey yok, ve hiçbir şey önce kabul edilip sonra atılmıyor.
Gönderilen değerleri, ziyaretçinin IP adresini, tarayıcı kimliğini ve yönlendiren adresi üçüncü bir tarafa gönderen tek seçenek Akismet. Bu bir kişisel veri aktarımı: açmadan önce ziyaretçilerinize söyleyin. Diğer sağlayıcılar yalnız kendi betiklerinin topladığını ve doğrulama jetonunu alıyor; sitenizdeki bir süzgeç istemedikçe ziyaretçinin IP adresi onlara geçmiyor.
Erişim denetimi
Bir form takvime göre açılıp kapanabiliyor, belirli bir gönderim sayısından sonra durabiliyor, giriş yapmış bir kullanıcı ya da belirli bir rol isteyebiliyor veya bir parolanın arkasında durabiliyor. Dördüne de tek bir işlev karar veriyor ve o işlev iki yerden çağrılıyor: bir kez form basılmadan önce, bir kez de gönderim geldiğinde.
İki çağrı yeri, tek karar. Formu gizlemekle doğrudan gelen bir gönderimi reddetmek ayrı ayrı yazılsaydı zamanla ayrışırdı ve kapalı form, adresi bilen birinden gelen bir POST'u yine kabul ederdi. Buradaki hiçbir şey tarayıcıda uygulanmıyor.
Gönderim sınırı, satır yazıldıktan hemen sonra bir kez daha denetleniyor ve sayım okunurken kilitleniyor. Aynı saniyede gönder'e basan iki ziyaretçi, yoksa ikisi de henüz hiçbiri sayılmamışken yapılmış bir denetimden geçerdi.
Dosya yüklemeleri
Yüklenen dosyalar adres çubuğunun erişemeyeceği yerde tutuluyor. Dizin adı tahmin edilemez ve Apache, IIS ile dizin listesi için ret kuralları taşıyor; yani biri yolunu öğrense bile dosya sunulmuyor.
MEVVFORMS_FILE_VAULT_DIR tanımlayıp web kökünün dışında bir yeri göstermediğiniz sürece kasa yükleme dizininizin içinde duruyor. Web kökünün altında olmak ret kurallarından daha güçlü, çünkü sıfırlanmış ya da hiç okunmayan bir web sunucusu yapılandırmasından da sağ çıkar. Barındırıcınız izin veriyorsa tanımlayın.
Bir dosya, geldiği ada göre değil içindekine göre değerlendiriliyor. İlk baytlar bilinen imzalardan oluşan bir tabloyla karşılaştırılıyor, çalıştırılabilir imzalar doğrudan reddediliyor ve imzası masum görünen bir dosya bile gömülü betik için taranıyor. Uzantı, dosyayı yükleyenin öne sürdüğü bir iddiadır.
İndirmeler bir yol üzerinden değil imzalı bir bağlantı üzerinden gidiyor. İmza dosyayı, kişiyi ve bir son kullanma anını kapsıyor — varsayılan on beş dakika ve hiçbir zaman bir günden fazla değil — ve indirme, bağlantı hâlâ süresi içindeyken bile kişinin buna hakkı olduğunu yeniden denetliyor. Başkasına iletilen bir bağlantı onun için çalışmıyor.
Ön yüz görünümleri
Gönderimler siteye bir görünüm olarak geri yayımlanabiliyor: ızgara, tablo, takvim, zaman çizelgesi ya da harita. Görünümler [mevvforms_view id="12"] ile ya da MevvForms View bloğuyla yerleştiriliyor; tek bir kaydı bir sayfaya sabitlemek ise gönderimi adıyla belirtmek meselesi.
Harita hiçbir dış servise bağlanmıyor. Çekilecek karo yok, alınacak anahtar yok, coğrafi kodlama isteği yok: noktalar kendi sayfanızda satır içi bir vektör görsel olarak çiziliyor ve çizimi göremeyenler için koordinatlar altında metin olarak da yazılıyor. Karolu bir haritadan daha yalın duruyor; karşılığında da hiçbir ziyaretçinin adresi, haritası olduğunu bilmediği bir sayfa yüzünden bir harita şirketine gitmiyor.
Gizlilik ve saklama
MevvForms WordPress'in kendi kişisel veri dışa aktarma ve silme araçlarına kayıtlı; yani WordPress üzerinden yürütülen bir veri talebi, kimsenin ikinci bir ekranı kontrol etmeyi hatırlamasına gerek kalmadan gönderimleri, yarım kalmış gönderimleri ve dosyaları buluyor.
Saklama süresi form başına gün sayısı olarak ayarlanıyor — sıfır süresiz demek ve tavan on yıl. Saatlik bir iş bunu uyguluyor.
Bir saklama değişikliği kaydedilmeden önce ekran, bunun kaç gönderimi kalıcı silinmeye uygun hâle getireceğini söylüyor. Sayı önce çıkarılıyor ve silme ayrı, ayrıca onaylanan bir adım. Bir kutuya 30 yazmak, dört bin kaydı yok etmekle asla aynı hareket olmamalı.
Form analitiği
Analitik tek bir soruya cevap veriyor — insanlar bu formu nerede bırakıyor — ve siz açana kadar kapalı; açtıktan sonra da hangi formları ölçebileceğini siz söylüyorsunuz. Kapalıyken hiçbir şey yazılmıyor, sayfalarınıza betik eklenmiyor ve ortada herkese açık bir uç nokta bulunmuyor.
Açıkken günlük sayaçlardan iki tablo tutuyor: form başına görüntülenme, başlama, gönderim ve bırakma; alan başına o alandaki bırakmalar, boş bırakılma sayısı, doğrulama hataları, toplam odak süresi ve kaç ziyaretçinin o alana odaklandığı.
Hiçbir ziyaretçi kimliği üretilmiyor ve çerez konmuyor. Tablolarda IP adresi, kullanıcı, e-posta, oturum, parmak izi, yönlendiren ya da gönderilmiş değer için bir sütun yok — bir satırı izlenemez yapan şey bakmama sözü değil şemanın biçimi. Tarayıcı sinyali kendi sitenize gidiyor ve formun kendi kısa ömürlü biletiyle doğrulanıyor; o bilet o formun her ziyaretçisi için birebir aynı. Satırlar toplulaştırılmış olduğu için kişisel veri dışa aktarımı dışa aktaracak bir şey bulamıyor ve silme talebi bunu söyleyen bir satırla cevaplanıyor.
Yapay zekâyla form üretmek
Bir formu tek cümleyle anlatıp alanları sizin için dizdirebiliyorsunuz. Üç bağlantı destekleniyor: kendi makinenizde ya da kendi sunucunuzda çalışan Ollama ve LM Studio, bir de kendi anahtarıyla barındırılan bir modeli tercih edenler için OpenAI uyumlu bir uç nokta.
- Eklentinin hiçbir yerinde kota, kredi ya da kullanım sayacı yok — tükenecek bir şey yok, çünkü model bizim değil.
- Ollama ya da LM Studio ile formunuzun tarifi, modelin çalıştığı makineden hiç çıkmıyor.
- Hiçbir bağlantı yapılandırılmamışsa özellik hiç gösterilmiyor ve hiçbir istek yapılmıyor. Kazayla kullanılmayı bekleyen barındırılmış bir yedek yok.
Yapıştırdığınız anahtar, her sayfada yüklenmeyen tek bir WordPress seçeneğinde tutuluyor ve ekran onu sonrasında maskeli gösteriyor — ama yazdığınız gibi saklanıyor, şifrelenmiyor. Veritabanına erişimi olan her şey okuyabilir. İhtiyacı kadarına yetkili bir anahtar kullanın ve site el değiştirirse anahtarı yenileyin.
Geri gelen şey bir taslak. Düzeltilecek bir başlangıç düzeni, okunmadan yayımlanacak bir form değil — üstelik üretilmiş bir alan, yasanın size neyi sormayı ya da sormamayı zorunlu kıldığını bilmiyor.
Başka bir form eklentisinden içe aktarmak
Formlar yedi başka eklentiden içe aktarılabiliyor: Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Ninja Forms ve SureForms.
- Kaynak yalnızca okunuyor. İçe aktarma diğer eklentide hiçbir şeyi değiştirmiyor, devre dışı bırakmıyor ya da silmiyor; onun kendi verisi tam olarak olduğu yerde kalıyor.
- Taşınamayan her şey gerekçesiyle listeleniyor. Siz o listeyi görüp kabul edene kadar içe aktarma yazmayı reddediyor — sessiz ve eksik bir aktarım, kayıp bir bildirimin üç hafta sonra cevap alamamış bir müşteri tarafından keşfedilme biçimidir.
- Eski kısa kodlar çalışmaya devam ediyor. Geçiş etkinleştiğinde kaynak eklentinin kısa koduna MevvForms cevap veriyor, yani hiç düzenlenmemiş sayfalar çalışan bir form göstermeye devam ediyor. O kısa kodu başka bir şey zaten sahiplenmişse MevvForms ona dokunmuyor.
Yeni formu kendiniz gönderip gönderimi ve bildirimi görene kadar kaynak eklentiyi kurulu bırakın. Aslı hâlâ ordayken geri dönmek kolay, gittikten sonra zahmetli.
Geri alınabilir WPForms geçişi
Geçiş salt okunur başlar. Ön izleme eşlenen alanları, bildirimleri, onayları, yerleşimleri ve desteklenmeyen ayarları listeler. Uygulama tek hazırlık MevvForms formu oluşturur veya günceller ve kaynak özetini kaydeder. WPForms verisini silmez; kaynak sürümlere, tablolara veya sayfa içeriğine dokunmaz.
- Uygulamadan önce ön izlemenin birebir eşleşmesini isteyin.
- Formu hazırlık durumunda içe aktarıp kaynak özetlerini yeniden karşılaştırın.
- Kesim sağlık kapısını çalıştırın: yayımla, göster, imzalı deneme gönderimi, yerel entry ve kuyruk bildirimi.
- Kaynak eklenti ancak bu kontrollerin tamamı geçince kapatılabilir.
- Herhangi bir kontrol başarısızsa rollback önceki etkin eklenti listesini geri kurar ve içe alınan formu taslağa döndürür.
Ölçülmüş mevvshop.com envanteri; 4 alan, 1 bildirim, 1 onay ve tek canlı yerleşim içeren bir kaynak formdur. Bu sayılar o sitenin sürüm kapısıdır; her WPForms formu için verilen söz değildir.
Ödeme almak
Bir form fiyat taşıyabiliyor. Ürün alanları kalemleri tutuyor, hesaplama ve toplam alanları borcu çıkarıyor ve sipariş her gönderimde sunucuda şemadan yeniden kuruluyor.
- Tutar hiçbir zaman tarayıcıdan gelmiyor. Gönderimle birlikte gelen bir toplam yalnız karşılaştırma için kullanılıyor ve uyuşmazlık, sessizce düzeltilmek yerine gönderimi reddettiriyor — bir ziyaretçiden asla gördüğünden başka bir tutar tahsil edilmemeli.
- Para uçtan uca, para biriminin en küçük biriminde tam sayı olarak taşınıyor. Hiçbir yerde hiçbir parasal değer kayan noktalı bir sayıdan geçmiyor.
- Sağlayıcıdan cevap gelmeden hiçbir şey ödendi olmuyor. Ödeme sayfasından dönen bir tarayıcı siparişi en fazla “mutabakat gerekiyor” durumuna taşıyor; ödendi için imzası doğrulanmış bir bildirim ya da sağlayıcıya doğrudan sorulmuş bir soru gerekiyor.
- Kart bilgisi siteye hiç ulaşmıyor. Ödeme sözleşmesinde kart numarası, son kullanma tarihi ya da güvenlik kodu için bir alan yok ve veritabanında bunlar için bir sütun da yok.
- PayPal — bir Pro geçidi
- Pro, Orders v2 üzerine kurulu bir PayPal geçidi ekliyor. Sipariş sizin sunucunuzda açılıyor, ziyaretçi onu PayPal'ın kendi sayfasında onaylıyor ve para dönüş yolunda tahsil ediliyor — ya da ziyaretçi önce sekmeyi kapatırsa, imzalı bildirim geldiğinde. İki yol da aynı yerde bitiyor; böylece onaylanmış bir sipariş, parası toplanmadan tahsilatsız kalmıyor. Çift tahsilat iki kat korunuyor: tahsilat çağrısı PayPal'ın tekrar oynatmayacağı sabit bir istek kimliği taşıyor ve “zaten tahsil edildi” yanıtı bir hata değil, yapılmış iş olarak okunuyor. İadeler, tam ya da kısmi, gönderim kaydından yapılıyor.
- PayPal Türkiye'de kullanılamıyor
- PayPal Türkiye'de faaliyet göstermiyor ve Türk lirasıyla hesaplaşmıyor; yani bu geçit yurt dışına satış için. Türk ödeme sağlayıcıları oldukları yerde, MevvPos köprüsünde kalıyor ve bu konuda hiçbir şey değişmiyor.
Hiçbir katmanda işlem ücreti yok. Birkaç form eklentisi ücretsiz ödeme katmanında tahsil ettiğinizin bir yüzdesini alıyor; bir test, sağlayıcıya gönderilen tutarın sipariş toplamına birebir eşit olduğunu doğruluyor.
Hiçbir ödeme uçtan uca çalıştırılmadı, PayPal dahil. Bunların arkasında henüz ne canlı ne de kum havuzu bir üye işyeri hesabı var: her sağlayıcı yolu bir vekil karşısında çalıştırılıyor, istek ve bildirim biçimleri de tamamlanmış bir çağrıya değil, sağlayıcıların yayımlanmış belgelerine satır satır bakılarak doğrulandı. Bu değişene kadar ödeme özelliklerini kanıtlanmamış sayın ve yalnız bizim sözümüze bakarak gerçek müşterilerin önüne koymayın.
Zapier ve Make
Pro, gönderimleri Zapier ve Make'e REST kancaları olarak da yayımlayabiliyor. Zapier formlarınızdan birine abone oluyor, MevvForms aboneliği hatırlıyor ve ondan sonraki her gönderim kuyruğa alınıp ona teslim ediliyor. Abonelikten çıkmak onu geri kaldırıyor; ayrı bir örnek verisi ucu ise Zapier'e yakın tarihli bir gönderim veriyor, böylece alan eşleme ekranında boş kutular yerine gerçek alan adları görünüyor.
- Kimlik doğrulama, Zapier ayarları ekranında ürettiğiniz bir site anahtarı. Tek kimlik bilgisi bu ve bir kişiyi değil siteyi tanımlıyor.
- Gönderimler, ücretsiz sürümün zaten kullandığı imzalı webhook ve iş kuyruğu üzerinden çıkıyor. Bu yeni bir hedef, ikinci bir gönderim sistemi değil; dolayısıyla gönderim kaydı ve yeniden denemeler aynı biçimde çalışıyor.
- Geçerli lisans yoksa modül hiç açılmıyor: hiçbir rota kaydolmuyor, hiçbir kanca eklenmiyor ve uzak bir adrese ulaşabilecek bir kod yolu bulunmuyor.
Zapier ve Make Pro olmadan da zaten erişilebilirdi, çünkü ücretsiz sürüm imzalı bir webhook'u herhangi bir adrese POST edebiliyor. Pro'nun kaldırdığı şey aradaki kısım — aboneliği, alan eşlemesini ve yeniden denemeyi artık siz kurmuyorsunuz.
Salesforce
Pro bir gönderimi Salesforce Lead, Contact ya da Case kaydına dönüştürebiliyor. Form alanlarını nesnenin alanlarıyla konnektör ekranında eşliyorsunuz ve her girdi diğer konnektörlerin kullandığı kuyruktan geçiyor — yani bir Salesforce kesintisi kaydı geciktirir, girdiyi kaybetmez.
- Kimlik doğrulama yenileme jetonuyla OAuth 2.0. Sitenizde hiçbir Salesforce parolası saklanmıyor.
- Sandbox ile üretim bir anahtar, ayrı tutulması gereken ikinci bir kimlik seti değil.
- Girdinin kendisi her hâlükârda sizin sitenizde kalıyor. Salesforce'a bir kopya göndermek, verinizi oraya taşımak değildir.
Kendi nesne deponuzda yüklemeler
Dosya kasası varsayılan olarak kendi diskinizde, web kökünün dışında durur. Pro onu bunun yerine S3 uyumlu herhangi bir depoya taşıyabilir — AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Backblaze B2 ya da Wasabi — her isteği kendisi imzalayarak, yani üçüncü taraf hiçbir SDK girdileri görmez.
Değişen şey baytların nerede durduğu, onları kimin alabileceği değil. Dosyalar hâlâ yalnız tek bir kişiye bağlı, süreli bir bağlantıyla veriliyor ve kimin hak sahibi olduğuna hâlâ ücretsiz eklenti karar veriyor. Depoyu taşımak izin denetimini taşımıyor.
Dil
Eklentiyle on dokuz WordPress yerel ayarı geliyor: Almanca (Almanya, resmî Almanya ve İsviçre), İngilizce, İspanyolca (İspanya, Meksika, Arjantin, Şili, Kolombiya), Fransızca, İtalyanca, Japonca, Felemenkçe (Hollanda ve Belçika), Lehçe, Portekizce (Brezilya ve Portekiz), Rusça ve Türkçe. Düzenlenebilir kaynak katalogları da içinde, yani bir çeviri kendi sitenizde düzeltilebiliyor.
Satır satır okunmuş iki dil Türkçe ile İngilizce. Diğerleri eksiksiz ama hepsi henüz insan elinden geçmedi; kendi dilinizde tuhaf duran bir dize varsa sebebi budur ve katalog onu düzeltmek için orada.
Ücretsiz ve Pro sınırı
Güvenilir çalışma zamanı ücretsiz sürümün ve bu sayfadaki neredeyse her şey onunla birlikte geliyor: şema, otuz sekiz alan tipinin tamamı, erişilebilir işleyici, sunucu tarafı doğrulama ve koşullu mantık, özet adımı ve sohbet kipiyle çok adımlı formlar, kaydet-ve-devam et, CSV dışa aktarmalı yerel girdiler ve denetim izi, yönetici notları ve onay akışı, bildirim kuyruğu ve teslim kaydı, HMAC ile imzalanan giden webhook’lar, tam spam takımı, erişim denetimi, dosya kasası, ön yüz görünümleri, saklama ve gizlilik araçları, ölçüm, yapay zekâ ile üretim, yedi eklenti için içe aktarıcılar ve işlem ücreti olmayan tek seferlik ödemeler.
Pro, adı konmuş servis bağlayıcılarını ekliyor: Mailchimp, HubSpot, Brevo, ActiveCampaign, Airtable, Notion, Google Sheets, Discord, Telegram ve Slack — her biri o servisin kendi biçimini konuşuyor — artı bir PayPal geçidi, REST kancaları üzerine kurulu bir Zapier ve Make bağlayıcısı, tekrarlayan ödemeler, indirim kodları ve kısmi ödemeler. Bunun hâlâ ne demek olduğuna dikkat edin: ücretsiz sürüm zaten imzalı bir webhook'u herhangi bir adrese POST ediyor, yani Zapier, Make ve kendi yazdığınız her şey Pro olmadan da erişilebilir kalıyor — Pro'nun kaldırdığı şey aradaki kısım: aboneliği, alan eşlemesini ve yeniden denemeyi artık siz yazmıyorsunuz. Lisans kapısı modülün kendi açılış denetimi: geçerli lisans yoksa hiçbir bağlayıcı sınıfı yüklenmiyor, hiçbir iş süzgeci kaydolmuyor ve uzak bir çağrı yapılamıyor.
Yol haritası maddesi çalışan özellik diye sunulmaz. Bir formu Pro modülüne bağlamadan önce kurulu sürümü ve sürüm notlarını denetleyin.
Sorun giderme ve geri alma
- Eski shortcode boş
- Kaynak kimliğinin etkin geçiş eşlemesi olduğunu ve başka eklentinin wpforms shortcode adını sahiplenmediğini doğrulayın.
- Gönderim oturum süresi doldu diyor
- Sayfayı yenileyip en son yayımlanmış sürüme karşı yeniden gönderin.
- Bildirim bekliyor
- Kuyruk durumunu açın; kalıcı yapılandırma hatasını düzeltin veya geçici taşıma hatasının zamanlanmış yeniden denemesini bekleyin.
- Kesim WPForms’u kapatmadı
- Sağlık sonucunu okuyun. Güvenlik kapısı gösterim, gönderim, entry veya iş doğrulaması başarısız olduğu için WPForms’u açık tuttu ya da geri getirdi.
- Ziyaretçinin göremediği bir alan yine de geldi
- Kararın verildiği nokta zaten orası. Koşullar gönderimde yeniden değerlendiriliyor, yani gizli bir alan için gönderilen değer orada atılıyor — tarayıcıya değil koşulun kendisine bakın.
- CSV'de Türkçe karakterler bozuk
- Dosya bayt sırası imi taşıyor ve UTF-8. Kendisine başka bir şey olarak içe aktarması söylenmiş bir hesap tablosu yine de yanlış gösterir; kodlaması önceden seçilmiş bir içe aktarma sihirbazı yerine dosyayı doğrudan açın.
- İndirme bağlantısı süresi doldu diyor
- Bağlantılar varsayılan olarak on beş dakika yaşıyor ve isteyen kişiye bağlı. Gönderimden yenisini üretin; bir bağlantı bir iş arkadaşına iletilemez.
- Yapay zekâ paneli görünmüyor
- Hiçbir bağlantı yapılandırılmamış. Panel bozuk gösterilmek yerine gizleniyor ve gizliyken hiçbir yere hiçbir şey gönderilmiyor.
- Bir menü girdisi boş bir ekran açıyor
- Menüdeki bazı girdiler henüz yapılmamış ekranlar için yer tutucu. Boş olanı bozuk bir kurulum değildir.
Destek için eklenti, WordPress ve PHP sürümleriyle güvenli hata kodunu paylaşın. Kayıt göndermeden önce alan değerlerini, müşteri verisini, oturum jetonlarını, nonce ve lisans anahtarlarını çıkarın.
Güncellemeler
Güncellemeler WordPress'in kendisi üzerinden geliyor. Eklenti mağazamıza daha yeni bir sürüm olup olmadığını soruyor ve yanıtı WordPress'in kendi güncelleme akışına veriyor; böylece yeni sürüm, birinin elle zip indirmesini beklemek yerine eklentiler ekranında sıradan bir Güncelle düğmesiyle beliriyor. Ücretsiz sürümde bu istek yalnız paket adını ve kurulu sürümü taşıyor — site adresi yok, e-posta adresi yok, lisans anahtarı yok, eklenti envanteri yok. İçinde sizi tanımlayan hiçbir şey olmadığı için güven imzaya dayanıyor: yanıt Ed25519 anahtarımızla imzalı; imzasız, imzası tutmayan, eski bir zaman damgasından tekrar oynatılan ya da indirmeyi bizimki dışında bir konağa yönlendiren bir yanıt siteye hiç dokunulmadan atılıyor.
Sınırlar
Açıkça yazıyoruz ki bu sayfadaki hiçbir şeyin güvene bırakılması gerekmesin.
- Ödeme özellikleri canlı ya da kum havuzu bir üye işyeri hesabına karşı doğrulanmadı. Sağlayıcıların belgelerine göre kuruldu ve taklit bir taşıma katmanına karşı test edildi.
- Kurucuda geri alma ya da yineleme yok. Geri dönüş yolu sürümler.
- PDF çıktısı siteye bağlı. Sitede bir PDF kütüphanesi kuruluysa MevvForms onu kullanıyor; yoksa yazdırılabilir bir belge üretip yazdırmayı tarayıcıya bırakıyor. Pakette PDF kütüphanesi yok ve hiçbir yerden de çekilmiyor.
- Artık her menü girdisi gerçek bir ekran açıyor. Raporlar, entegrasyonlar, içe/dışa aktarma, ayarlar, roller ve günlükler önceki sürümlerde yer tutucuydu; 1.1.0 ile her biri kendi paketinden geliyor.
- Yüklenen dosya kasası varsayılan olarak yükleme dizininin içinde ve konumuyla değil ret kurallarıyla korunuyor — siz onu web kökünün dışına taşımadığınız sürece.
- Yapay zekâ anahtarları yazıldığı gibi saklanıyor, şifrelenmiyor. Ekranda maskeleniyor ve her zaman yüklenen seçeneklerin dışında tutuluyor; bu, okunamaz olmakla aynı şey değil.
- Kurucunun klavye eşdeğeri eksiksiz ama küçük. Düğmeler sıradan tuşları taşıyor ve alan taşımanın tek bir kısayolu var; öğrenilecek daha büyük bir tuş haritası yok, keşfedilecek de.
Bu sayfa bir şeyin ölçüldüğünü söylüyorsa ölçülmüştür. Bir şeyin kanıtlanmadığını söylüyorsa bu alçakgönüllülük değildir — testin henüz var olmadığı anlamına gelir ve o cümleyi bitmemiş sayın.