Contents
Troubleshooting — Plugixa Testimonial
Common issues and how to fix them. If your problem isn’t here, collect the debug info at the bottom and contact support.
Plugin not appearing in admin
Symptom: You installed and activated the plugin but no Plugixa Testimonial menu appears.
Causes & fixes:
- User role — only users with
manage_optionsor one of the five plugin capabilities (plugixa_testimonial_manage,_edit,_delete,_approve,_settings) see the admin menu. Grant the capability or use an admin account. - Another plugin is suppressing it — switch to a default theme and deactivate all other plugins to isolate.
- Autoloader failed — check the error log for
Class "PlugixaTestimonial\Plugin" not found. Deletevendor/and re-download the plugin ZIP to re-run Composer.
Shortcode prints as raw text
Symptom: The page shows [plugixa_testimonials] literally instead of rendered testimonials.
Fixes:
- Confirm the plugin is active: Plugins → Installed Plugins.
- Check that quotes are straight (
") not curly (""). The WP visual editor sometimes converts them — paste from a plain-text editor. - If you’re using a page builder, use the builder’s Shortcode widget, not a raw HTML block.
- Verify the shortcode name — it’s
[plugixa_testimonials](plural), not[plugixa_testimonial].
No testimonials displayed
Symptom: Empty space where testimonials should be.
Run through this checklist:
- Approved testimonials exist — Plugixa Testimonial → Testimonials with status filter
approved. - Correct category IDs — typos are the #1 cause. Category filter uses IDs, not slugs.
- Featured filter —
featured="1"requires testimonials with the featured flag on. - Min rating —
min_rating="4"excludes testimonials below 4 stars. - Language filter — if Multilingual is active, testimonials in other languages are hidden. Try
language="en"explicitly. - Limit is 0 or negative —
limit="0"returns nothing;limit="-1"returns all.
Styles not loading
Symptom: Testimonials render but look unstyled — no borders, wrong colors, broken layout.
Causes & fixes:
- CSS not enqueued — the plugin only loads CSS on pages with a shortcode. If you use
do_shortcode()in a template file, enable Settings → Display → Load Assets Globally. - CSS cache — clear browser cache. Purge any caching plugin (WP Rocket, W3 Total Cache, LiteSpeed, Cloudflare).
- Theme CSS override — the theme’s CSS may be more specific. Use browser DevTools to find the overriding rule, add a fix in Settings → General → Custom CSS.
- TailwindCSS not built — rare in production. Confirm
assets/frontend/build/css/frontend.cssexists and is enqueued.
Slider not working
Symptom: Slider layout shows testimonials stacked vertically or arrows/dots are missing.
Fixes:
- Swiper not loading — the slider depends on Swiper 11.x. Check the browser console for Swiper errors. View the page source and confirm
swiper-bundle.min.jsis enqueued. - Another plugin includes a different Swiper version — check the console for version conflicts.
- JavaScript error blocking execution — any earlier JS error can prevent Swiper from initializing.
- View layout is not
slider— check the view config. - Only one testimonial — Swiper may not initialize with a single slide. Add more testimonials or set
loop=truein the view. - Multi-row + loop — Swiper can’t loop multi-row grids. The view form disables loop when rows > 1.
Submission form errors
Symptom: The frontend submission form shows errors, fails to submit, or reCAPTCHA breaks.
“reCAPTCHA verification failed”
- Verify Site Key and Secret Key in Settings → Submission.
- Keys must match the selected version (v2 keys don’t work with v3).
- Check your domain is registered in the Google reCAPTCHA admin console.
- For v3, the default score threshold is
0.5. If legitimate users are blocked, lower to0.3.
reCAPTCHA widget not appearing (v2)
- Console errors from the reCAPTCHA script block the render — fix those first.
- Confirm the site key is for reCAPTCHA v2 (checkbox), not v2 invisible or v3.
Form does not submit
- Browser console for JS errors.
- Form enabled in Settings → Submission → Enable Submission Form?
- Test with other plugins deactivated.
Photo upload fails
- File size ≤
max_photo_sizeMB (default 2 MB). - File type in
allowed_photo_typeslist (defaultjpg,jpeg,png,webp,gif). - PHP
upload_max_filesizeandpost_max_sizeare high enough.
Admin panel blank or broken
Symptom: The Plugixa Testimonial admin page is blank, shows a white screen, or has broken UI.
- JavaScript errors — F12 → Console. The SPA is React 19 + MUI 7; a single error can blank the panel.
- Plugin or theme conflict — another plugin loading conflicting React / MUI versions. Deactivate plugins one at a time.
- PHP errors — enable
WP_DEBUGandWP_DEBUG_LOG, checkwp-content/debug.log. - Insufficient memory — raise
WP_MEMORY_LIMITto256Minwp-config.php. - HMR port blocked (development only) — if
includes/admin/class-hmr.phpexists, port5177must be reachable. Deleteclass-hmr.phpfor production builds.
Photos not displaying
Symptom: Cards show a broken image icon or photos are missing.
- Attachment deleted — testimonials store photos as WP Media Library attachment IDs. If the media file was deleted, re-upload.
- File permissions —
wp-content/uploadstypically 755 for directories, 644 for files. - Site migration — URLs may be broken. Run a search-and-replace tool (WP-CLI
wp search-replace) on the DB. - Initials fallback not showing — CSS conflict with
.pxt-custom-fallback. Inspect the element to see if the container is present but hidden.
Schema not outputting
Symptom: JSON-LD structured data isn’t appearing in the page source.
- Schema disabled — check Settings → Schema → Enable Schema.
- Per-shortcode disabled — the shortcode’s
schemaattribute (or saved config’sschemafield) must be1. Both global and per-shortcode must be on. - No approved testimonials on the page — schema only renders when testimonials are rendered.
- View the page source (Ctrl+U or Cmd+U) and search for
application/ld+json. Also try Google’s Rich Results Test. - Cache — purge page cache if you enabled schema after the page was cached.
Multilingual issues
I see the same testimonial in every language
- Check the testimonial has a non-empty
language_code. Empty values show in every language. - Deactivate/reactivate the plugin to re-run the activator’s backfill.
Translation not showing up
- Each translation has its own status — all translations must be
approved. - The
language_codemust match the URL language exactly (frnotfr_FR). - Categories must also be translated — a translated testimonial with only EN categories may be filtered out by a translated category filter.
Multilingual filter doesn’t appear
- WPML or Polylang must be active.
- The plugin is set to
autoin Settings → Multilingual (notoff). - If multilingual plugin was installed after Plugixa Testimonial, deactivate and reactivate Plugixa Testimonial to refresh.
Testimonial requests issues
Emails not arriving
- Install WP Mail Logging plugin to verify
wp_mail()is firing. - Check spam folders.
- Configure SPF / DKIM records for the sending domain.
- Install an SMTP plugin (WP Mail SMTP, Fluent SMTP) for reliable delivery.
Token “Invalid”
- Already submitted (token consumed).
- Expired (past
expires_at). - Copied incorrectly — tokens are case-sensitive.
AI generator returns “API error” PRO
- 401 — API key is wrong or revoked. Regenerate in the provider dashboard.
- 429 — rate-limited. Wait, or upgrade your provider plan.
- 400 — prompt is too long. Lower the batch size or provide less context.
- 5xx — the provider is down. Retry in a few minutes.
See AI Generator → Troubleshooting.
Google Reviews issues PRO
- “API key invalid” — the Places API isn’t enabled in Google Cloud Console; or the referrer / IP restriction is blocking.
- “No reviews found” — the place has fewer than 5 reviews; or wrong place selected.
- Only 5 reviews imported — Google’s API limit, not a plugin limit.
See Google Reviews → Troubleshooting.
Pro features not unlocking after license activation PRO
Symptom: You’ve activated your license but Pro features still show upgrade cards.
- Disk state — verify
wp-content/plugins/plugixatestimonial/pro/contains files. Freemius downloads the Pro ZIP on license activation — if the download failed, the directory is empty. - Manually trigger the update — Plugixa Testimonial → Account → Sync license.
- Permissions — the
pro/directory must be writable by the web-server user. - Cache — object cache plugins (Redis, Memcached) can cache the license state. Flush the cache.
- Opcache — if PHP OPcache is aggressive, reset it from the admin (e.g., Opcache Manager plugin).
Admin login issue
If you can’t access wp-admin due to a plugin fatal error:
- FTP/SSH into the site.
- Rename
wp-content/plugins/plugixatestimonialtoplugixatestimonial.disabled. - Log in — the plugin is now deactivated.
- Rename back, re-activate, and check the error log.

HMR / dev server not loading assets
Symptom: Admin panel is blank or loading-spinner-forever (development setup only).
- Confirm the Vite dev server is running:
cd assets/backend/app && npm run dev. - Confirm port
5177is reachable. - To use production assets, delete
includes/admin/class-hmr.php. The presence of that file toggles HMR mode.
“Permission denied” on REST API
Symptom: REST calls return 403.
- The endpoint requires
edit_posts,manage_options, or a plugin capability. Log in as admin. - Nonce — custom front-end callers must include the
wp_restnonce in theX-WP-Nonceheader. - Pro endpoints on a free install return 403 with a message pointing to the upgrade URL — that’s expected.
- Free views quota —
POST /viewsreturns403 views_limit_reachedwhen free users hit the 2-view limit.
WooCommerce tab not showing
- WooCommerce active? Plugins screen.
- Tab enabled in Settings → WooCommerce?
- Shortcode assigned? Product edit → Plugixa Testimonial meta box.
- Theme override — some themes replace WC tabs entirely. Test with Storefront to isolate.
Debug mode
Add to wp-config.php:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Errors write to wp-content/debug.log. Reproduce your issue, attach the relevant lines to your support request.
What to include in a support request
To get help fast, provide:
- Plugin version and license tier (Free / Pro).
- WordPress version, PHP version, MySQL version — from Tools → Site Health.
- Active theme and list of active plugins.
- The exact shortcode or steps to reproduce.
- Browser console output if the problem is frontend.
- Relevant
debug.logexcerpt if the problem is backend. - Screenshots or screen recording where helpful.