Contents
Troubleshooting — Plugixa Recipe
Common issues and fixes. If your issue isn’t covered, check the plugin’s Settings → Advanced → Debug mode — enabling it writes verbose logs to wp-content/uploads/plugixarecipe-debug.log.
Install / activation
“Class PlugixaRecipe\Activator not found”
The PSR-4 autoloader couldn’t find a class file. Check that:
- The
/includes/directory is intact (no files deleted or permission-protected). - Your PHP version is 8.0+ (
php -v). spl_autoload_registerisn’t disabled inphp.ini.
Tables weren’t created on activation
Deactivate and reactivate the plugin. The activator (class-activator.php) runs dbDelta() — which is idempotent, so re-activation is safe.
If tables still don’t appear:
- Check the MySQL user has
CREATE TABLEprivileges on the WordPress database. - Look for errors in
wp-content/debug.log(withWP_DEBUG_LOGon). - Run the activator manually from a custom script:
\PlugixaRecipe\Activator::activate();
Frontend display
Shortcode shows “[plugixarecipe]” text instead of the grid
WordPress isn’t processing the shortcode. Check:
- The plugin is active.
- You’re using
[plugixarecipe], not[plugixa-recipe](the slug, not the plugin folder name). - The page content type accepts shortcodes (most do; some page builders disable this).
Grid is empty
- Check Recipes → Recipes — is there any content?
- Are recipes in
status = published? - Are there recipes matching the category / cuisine / diet filter you passed?
- Enable Settings → Advanced → Debug mode — the log will show the SQL query used.
Styles look broken / missing
The plugin enqueues its frontend CSS only on pages with [plugixarecipe] or its widget shortcodes. If you render the grid via PHP (outside a shortcode), call:
PlugixaRecipe\Frontend\Shortcodes::enqueue_assets_static();
Or add the shortcode once on the page (empty div is fine) and it will enqueue for the whole page.
Images not showing
- Check your WordPress media library for the images (via Media → Library).
- Verify your image size setting in the view (Views → Edit → Image & Video) —
fullis heavy; trymedium_large. - CDN / WPRocket may be blocking the media URLs — check with those plugins’ “image offload” settings.
Admin
React admin shows blank screen
- Open DevTools → Console. A JavaScript error will explain.
- Clear WordPress object cache: Settings → Performance → Flush caches.
- If you’re developing locally, the HMR dev server might be down. Stop the plugin’s HMR by unsetting
WP_DEBUGor by addingdefine('PLUGIXARECIPE_DISABLE_HMR', true)towp-config.php.
“You do not have permission to view this page”
Your user lacks the plugixa_recipe_* capabilities. These are added to the administrator role on activation. If you’re on a custom role:
$role = get_role('editor');
$role->add_cap('plugixa_recipe_manage');
$role->add_cap('plugixa_recipe_edit');
Changes aren’t saving
Check the browser DevTools → Network tab. If you see 403 responses, the REST nonce expired — refresh the page.
AI Generator
“Your quota has been exhausted”
Your OpenAI / Google account is out of credits. This is a billing issue with the LLM provider — the plugin relays the error verbatim.
“Model gpt-4o not found”
The model id in Settings → AI is wrong (or the model was deprecated). Try gpt-4o-mini or gpt-3.5-turbo. For Gemini, use gemini-1.5-flash or gemini-1.5-pro.
Document upload fails
- Check PHP
upload_max_filesizeis at least 20 MB. - Check
post_max_sizeis bigger thanupload_max_filesize. - Some hosts block PDF MIME types — enable
image/*,application/pdfin the Allowed mime types filter.
Import / Export
Import shows “Invalid format”
The importer auto-detects the format from the JSON/CSV structure. If detection fails:
- JSON files must have a top-level
recipesarray. - CSV files need a header row.
- WPRM / Tasty exports must come from the source plugin’s own export tool (partial JSON won’t match).
Images aren’t imported
Your host may be blocking outbound HTTP from PHP:
add_filter('pre_http_request', function ($pre, $args, $url) {
if (!str_contains($url, $_SERVER['HTTP_HOST'])) {
error_log("Blocked outbound: $url");
}
return $pre;
}, 10, 3);
If outbound is blocked, import without images first, then re-import with image URLs replaced by local paths.
Reviews & submission
Reviews submit but don’t appear
- Check Recipes → Reviews — are they
status = pending? Approve them or enable auto-approve. - reCAPTCHA threshold too strict — lower the score threshold in Settings → Captcha.
Submission form shows nothing
- The user role may be blocked by Settings → General → Who can submit.
- If Require login is on, guests see a sign-in link instead of the form.
Performance
Slow page load with shortcode on it
- Enable object cache (Redis / Memcached) if your host supports it. The plugin caches recipe queries under
pxr_*keys. - Reduce
limit— rendering 100 cards is heavier than rendering 12 + pagination. - Turn on lazy loading (Settings → Display).
- Defer non-critical scripts (Settings → Performance).
Too many database queries
The single recipe page makes one query per feature (ingredients, instructions, nutrition, reviews, related). They’re cached under the object cache — a second view is a single cache hit.
If your recipes have 50+ steps / ingredients, consider simplifying or splitting into multiple recipes.
WPML / Polylang
Recipes show in the wrong language
The REST endpoint honours the active language — but if you see recipes bleed across languages, check:
language_codeis populated on the recipe (not NULL).- WPML: the recipe post-type registration matches your WPML config.
- Polylang: the current language detection works (visit
/wp-json/plugixarecipe/v1/recipesand watch the request headers).
Uninstall
“Also delete all plugin data” didn’t delete my data
- Confirm the option
plugixarecipe_delete_on_uninstallinwp_optionsis set to1. - Confirm
uninstall.phpran — some caching plugins hold that file open during deletion. - Manual cleanup: drop the 23 tables (prefixed
wp_plugixarecipe_) and the optionplugixarecipe_settings.
Still stuck?
- Turn on Settings → Advanced → Debug mode and reproduce the issue.
- Open the debug log (
wp-content/uploads/plugixarecipe-debug.log) and copy the last 50 lines. - Share the log with support — Plugixa support can usually pinpoint the fix in minutes.