Documentație WP Simple Pay

Documentație, materiale de referință și tutoriale pentru WP Simple Pay

Cum să rezolvi problemele cauzate de pluginurile de cache și optimizare

Timp de citire: 4 minute | Dificultate: Începător

Prezentare generală

Pluginurile de caching și cache-urile de găzduire web accelerează site-ul dvs. salvând o copie a fiecărei pagini și servind acea copie vizitatorilor ulteriori. Pluginurile de optimizare merg mai departe și minify, combină sau întârzie JavaScript-ul site-ului dvs. Ambele sunt bune pentru performanță, dar pot interfera cu formularele de plată dacă sunt configurate prea agresiv.

De la WP Simple Pay 4.17.5, formularele de plată funcționează pe pagini complet cache-uite. Fiecare formular își încarcă setările și un token de securitate proaspăt de pe site-ul dvs. pe măsură ce pagina se deschide, astfel încât copia cache-uită a paginii nu mai conține nimic care poate expira. Nu mai trebuie să excludeți paginile formularului de plată din cache.

Acest ghid acoperă cele două lucruri care necesită încă atenție: păstrarea paginilor de confirmare a plății în afara cache-ului și păstrarea scripturilor WP Simple Pay în afara optimizărilor JavaScript.

Cerințe preliminare

  • WP Simple Pay 4.17.5 sau mai recent. Pe versiunile mai vechi, paginile formularului de plată trebuie, de asemenea, excluse din cache sau cache-uite pentru nu mai mult de 12 ore.
  • Acces la setările pluginului dvs. de caching sau optimizare, sau la echipa de suport a gazdei dvs. web dacă cache-ul rulează pe server.

Caching

Pagini de formular de plată

Pe WP Simple Pay 4.17.5 și versiuni ulterioare, paginile care conțin un formular de plată pot fi cache-uite ca orice altă pagină. Când un vizitator deschide pagina, fiecare formular preia propriile date din REST API-ul site-ului dvs. Butonul de plată rămâne dezactivat până când formularul este gata, astfel încât un clic prematur nu poate trimite un formular incomplet.

Dacă ați exclus paginile formularului de plată din cache pe o versiune anterioară, puteți lăsa excluderea în vigoare sau o puteți elimina. Ambele funcționează.

Tocmai ați actualizat? Ștergeți cache-ul site-ului dvs. o dată după actualizarea la 4.17.5. Paginile cache-uite înainte de actualizare conțin în continuare codul vechi al formularului până când sunt reîmprospătate.

Pagini de Confirmare a Plății

Păstrați paginile dvs. de succes și eșec al plății excluse din cache. Aceste pagini afișează detaliile unei plăți specifice, astfel încât fiecare client trebuie să primească o pagină generată proaspăt.

Cu unele gazde web, cache-ul rulează pe server și nu poate fi modificat din WordPress. În acest caz, contactați gazda dvs. și cereți-le să excludă URL-urile paginilor dvs. de confirmare din cache.

Configurarea pluginurilor specifice

Optimizarea JavaScript

Problemele JavaScript cauzate de pluginurile de optimizare provin de obicei din aceste caracteristici:

  • Minify
    Elimină caracterele inutile din cod, cum ar fi spațiile albe, pentru a produce un fișier mai mic.
  • Combinare
    Îmbină fișiere JavaScript separate într-unul singur pentru a reduce numărul de solicitări trimise către server.
  • Încărcare amânată/Asincronă
    Întârzie încărcarea sau rularea fișierelor JavaScript, astfel încât pagina să nu aștepte după ele.

Excludeți următoarele fișiere din orice setare de optimizare JavaScript, indiferent de pluginul pe care îl utilizați:

js.stripe.com/v3/
simpay-public-shared.js
simpay-public-upe.js
accounting.min.js
simpay-public-pro-upe.js

Ce optimizare trebuie lăsată în vigoare

Formularele de plată necesită un set mic de setări ale site-ului înainte de a se putea încărca: adresa API REST a site-ului dvs., formatul monedei și mesajul afișat atunci când un formular nu se poate încărca. WP Simple Pay afișează aceste setări în două locuri:

  • În interiorul codului HTML al fiecărui formular de plată, în atributul data-simpay-general al formularului. Această copie face parte din formularul în sine, deci este cache-uită împreună cu pagina.
  • Într-un script mic, aproape de sfârșitul paginii, <script id="simpay-shared-js-extra">, care definește spGeneral.

Începând cu WP Simple Pay 4.17.6, un formular se încarcă atâta timp cât oricare dintre copii este prezentă pe pagină. Unele pluginuri de optimizare elimină sau întârzie scripturi inline mici, cum ar fi al doilea, iar formularul folosește acum propria copie atunci când se întâmplă acest lucru.

Pentru a menține funcționalitatea formularelor de plată, asigurați-vă că pluginul dvs. de optimizare nu:

  • Elimină atributele HTML din tag-ul <form> al formularului de plată, în special data-simpay-form-id și data-simpay-general.
  • Elimină atât atributul data-simpay-general, cât și scriptul simpay-shared-js-extra. Dacă ambele lipsesc, formularul nu se poate încărca.

Configurarea pluginurilor specifice

Depanare

„Acest formular de plată nu a putut fi încărcat”

Dacă vizitatorii văd Acest formular de plată nu a putut fi încărcat. Vă rugăm reîmprospătați pagina și încercați din nou. sub butonul de plată, formularul nu a putut prelua datele de pe site-ul dvs. Acest lucru este cauzat, de obicei, de ceva care blochează API-ul REST al site-ului dvs.:

Erori de token de securitate

Erori precum Verificarea securității cuponului a eșuat sau Nonce-ul cookie-ului este invalid erau cauzate anterior de paginile cache care dețineau token-uri de securitate expirate. Începând cu versiunea 4.17.5, formularele preiau un token nou de fiecare dată când se încarcă, iar token-urile expirate la solicitările oaspeților sunt recuperate automat. Dacă încă vedeți aceste erori după actualizare, ștergeți cache-ul site-ului dvs. Vezi Cum să rezolvi eroarea „Verificarea securității cuponului a eșuat” pentru mai multe detalii.

Întrebări Frecvente

Mai am nevoie să exclud paginile formularelor de plată din cache?

Nu, nu pe WP Simple Pay 4.17.5 sau versiuni ulterioare. Încă trebuie să excludeți paginile de confirmare a plății.

Am cod personalizat care citește window.spGeneral. Mai funcționează?

Da. Când scriptul de subsol este prezent, window.spGeneral este setat de acesta, ca înainte. Când un plugin de optimizare a eliminat acel script, WP Simple Pay setează window.spGeneral din atributul data-simpay-general al formularului de plată imediat ce scripturile sale se încarcă, astfel încât codul dvs. să vadă aceleași valori.

Am cod personalizat care citește window.simplePayForms. Mai funcționează?

Da. Obiectul este încă disponibil, iar intrarea fiecărui formular este adăugată pe măsură ce datele formularului sosesc. Dacă codul dvs. rulează imediat ce pagina se încarcă, ar putea fi necesar să așteptați până când formularul a terminat de încărcat.

Ce urmează?

Încă aveți întrebări? Suntem aici pentru a vă ajuta!

Ultima modificare:

Începeți să acceptați plăți astăzi

Începeți să acceptați plăți unice și recurente sau donații pe site-ul dvs. WordPress.