Skip to main content

Depanare probleme frecvente

Această pagină documentează problemele cele mai frecvent întâlnite în administrarea pluginului Dentisity Congress și soluțiile lor verificate.

Coș gol la checkout​

Simptom​

Participanții ajung la pagina de checkout cu coșul gol, deși au selectat produse în formularul de înregistrare.

Cauze posibile și soluții​

Cauza 1: dentisity_bulk_cart_mode() nu este apelată corect

Verificați că funcția este invocată înainte de adăugarea produselor în coș. Consultați Fluxul coșului de cumpărături pentru detalii tehnice.

Cauza 2: Conflict cu alt plugin WooCommerce

Dezactivați temporar alte plugin-uri WooCommerce (extensii de coș, mini-cart, etc.) pentru a identifica conflictul. Reactivați-le pe rând.

Cauza 3: Cache agresiv

Ștergeți cache-ul de pagini (plugin de caching + CDN) și retestați. Formularele de înregistrare nu trebuie să fie în cache.

Diagnostic rapid

Activați modul debug WordPress (WP_DEBUG=true în wp-config.php) și verificați wp-content/debug.log pentru erori JavaScript sau PHP apărute în timpul adăugării în coș.


Butonul „Înscrie-te" din catalog redirecționează spre coș gol​

Simptom​

Un participant cu pass valid apasă Înscrie-te pe un workshop din catalog, dar ajunge la pagina /cart/ cu coșul gol și fără niciun mesaj de eroare vizibil.

Cauze frecvente​

Condiție verificatăMeta / câmpValoare necesară
Contul este aprobatidentity_check_status (user meta)approved
Participantul deține un passdentisity_pass_product_id (user meta)ID produs nenul
Nu este deja înscrisgrup Groups al workshop-uluiutilizatorul să nu fie membru
Workshop-ul este cumpărabildentisity_workshop_purchasable (post meta)yes
Produsul WooCommerce este publicatpost_statuspublish
Stoc disponibil_stock_status (post meta)instock
Prețul este setat_price (post meta)valoare nenulă sau 0 explicit
Administratori și Super Admin

Conturile cu capabilitatea manage_dentisity_settings sau manage_options sunt exceptate de la verificările identity_check_status și de la cerința de pass.

Diagnostic cu endpoint debug​

Plugin-ul expune un endpoint AJAX pentru inspectarea tuturor condițiilor de cumpărare pentru un workshop specific, ca utilizatorul curent.

Pași:

  1. Autentificați-vă ca utilizatorul afectat (sau folosiți funcția Switch User dacă aveți un plugin de impersonare)
  2. Deschideți browser-ul pe site și apăsați F12 → Console
  3. Copiați ID-ul produsului workshop-ului (vizibil în URL-ul paginii de editare din admin, ex.: post=1234)
  4. Rulați în consolă:
fetch('/wp-admin/admin-ajax.php', {
method: 'POST',
credentials: 'include',
body: new URLSearchParams({
action: 'dentisity_debug_ws_purchase',
ws_id: 1234 // înlocuiți cu ID-ul real
})
}).then(r => r.json()).then(console.log);

Interpretarea răspunsului:

{
"success": true,
"data": {
"is_workshop": true,
"post_status": "publish",
"identity_check_status": "approved",
"identity_ok": true,
"pass_product_id": 56,
"has_pass": true,
"already_enrolled_ids": [],
"already_enrolled": false,
"ws_order_meta": "",
"ws_purchasable_meta": "yes",
"ws_purchasable": true,
"wc_product_exists": true,
"wc_is_purchasable": false, // ← problema
"wc_is_in_stock": true,
"wc_price": "", // ← prețul lipsă cauzează wc_is_purchasable=false
"wc_stock_status": "instock",
"wc_stock": "5",
"overall_pass": false
}
}

Câmpul overall_pass: false indică eșec. Identificați câmpul cu valoare greșită și corectați-l:

Câmp falsRemediere
identity_ok: falseAprobați contul în Dentisity → Identity Checks
has_pass: falseAtribuiți manual un pass din profilul utilizatorului
already_enrolled: trueVerificați apartenența la grupul Groups al workshop-ului
ws_purchasable: falseEditați workshop-ul → bifați Disponibil pentru cumpărare → Salvați
wc_is_purchasable: falseDe obicei cauzat de wc_price gol — re-salvați workshop-ul pentru a recalcula prețul din wave pricing
wc_is_in_stock: falseStocul WooCommerce este 0 — ajustați stocul din editorul workshop-ului

Restricții add-on nu sunt aplicate​

Simptom​

Participanți neeligibili pot adăuga add-on-uri în coș, sau participanți eligibili sunt blocați incorect.

Soluție​

Aceasta este cauzată de valorile stale ale restricțiilor — etichetele (labels) au fost stocate în loc de cheile (keys) interne.

  1. Mergeți la Produse → [Produsul add-on]
  2. Deschideți secțiunea Dentisity din panoul de setări produs
  3. Fără a modifica nimic, apăsați Actualizați (butonul standard de salvare produs)
  4. Aceasta rescrie valorile restricțiilor cu cheile corecte
Această problemă afectează produsele create înainte de v4.8.x

Dacă aveți mai multe add-on-uri, re-salvați-le pe toate pentru a vă asigura că restricțiile sunt corecte.


Workshop-ul nu apare pentru un participant​

Simptom​

Un participant cu abonament valid nu vede un anumit workshop în formularul de înregistrare.

Verificări în ordine​

  1. Workshop-ul este ascuns?

    • Editați workshop-ul și verificați câmpul dentisity_workshop_hidden
    • Dacă este yes, workshop-ul este ascuns intenționat
  2. Restricții de acces greșite?

    • Editați workshop-ul → secțiunea Dentisity → Mod acces
    • Dacă este setat pe listă specifică, verificați că abonamentul participantului este inclus
  3. Capacitate epuizată?

    • Verificați stocul workshop-ului în WooCommerce
    • Dacă stocul este 0, workshop-ul nu mai acceptă înregistrări
  4. Workshop ordonat după zi?

    • Dacă dentisity_workshop_reg_sort_by_day=yes, workshop-ul poate fi afișat la o altă dată față de ce se așteptă participantul

Simptom​

Dropdown-ul de export din lista de produse (abonamente, workshop-uri, add-on-uri) apare tăiat de marginea containerului sau nu este vizibil.

Soluție​

Această problemă a fost rezolvată în versiunea 4.8.34 prin aplicarea position: fixed dropdown-ului de export via JavaScript. Dacă problema persistă:

  1. Verificați că pluginul este actualizat la v4.8.34 sau mai recent
  2. Ștergeți cache-ul de browser (Ctrl+Shift+R)
  3. Verificați că nu există un plugin de admin UI care suprascrie stilurile dropdown-urilor

Rolul moderator apare de două ori sau lipsește​

Simptom​

În lista de roluri apar atât identity_check_moderator cât și dentisity_identity_moderator, sau utilizatorii cu rolul vechi nu pot accesa panoul.

Soluție​

Consultați procedura completă din Migrare → Migrare rol moderator identitate.


Prețul wave nu se actualizează după vânzare​

Simptom​

După vânzarea tuturor locurilor dintr-un wave, prețul nu trece la wave-ul următor.

Verificări​

  1. Contorul wave sold: verificați dacă dentisity_increment_wave_sold este apelat la tranziția comenzii. Activați WP_DEBUG și urmăriți log-ul.
  2. Stare comandă: incrementul se declanșează la processing sau completed — dacă comenzile rămân în pending, wave-ul nu avansează
  3. Ajustare manuală stoc: dacă stocul a fost ajustat manual din WooCommerce fără o comandă, recalculați wave-ul activ din editorul produsului

Notificarea de înregistrare nu apare​

Simptom​

Notificarea configurată în setări nu se afișează în formularul de înregistrare.

Verificări​

  1. Mergeți la Dentisity → Setări → Notificare Înregistrare
  2. Confirmați că Activare notificare înregistrare este setat pe Da
  3. Confirmați că Text notificare nu este gol
  4. Apăsați Salvează setările din nou
  5. Ștergeți cache-ul de pagini și reîncărcați formularul
Shortcode necesar

Notificarea apare numai pe paginile care conțin shortcode-ul de înregistrare Dentisity. Verificați că pagina de înregistrare conține shortcode-ul corect.