Contents
Frontend Submission — Plugixa Recipe
[plugixa_recipe_form] lets your visitors submit their own recipes directly from the frontend. Submitted recipes land in the admin with status = pending (configurable) for moderation.
The shortcode
[plugixa_recipe_form]
[plugixa_recipe_form status="pending"]
[plugixa_recipe_form require_login="true"]
[plugixa_recipe_form redirect="/thank-you/"]
| Attribute | Default | Description |
|---|---|---|
status |
pending |
Initial status for submitted recipes |
require_login |
false |
Force sign-in before showing the form |
redirect |
— | URL to redirect to after successful submission |
fields |
(all) | Comma-separated whitelist of fields to show |
What the form looks like

Rendered from templates/submission-form.php. By default it includes:
- Title
* - Description
- Main image (upload)
- Ingredients (dynamic rows with quantity / unit / name)
- Instructions (dynamic rows)
- Prep / cook / rest time (minutes)
- Servings
- Difficulty
- Category (dropdown)
- Cuisine (dropdown)
- Tags (free-form)
- Video URL (optional)
- reCAPTCHA / hCaptcha (if configured in Settings → Captcha)
Configuring the form
Navigate to Settings → Form.
- Fields shown — which fields appear.
- Required fields — mandatory fields.
- Character limits — per-field.
- Submit button text.
- Thank-you message / Redirect URL.
Moderation
Submitted recipes appear in Recipes → Recipes with status pending. Filter by status to see only submissions, then:
- Publish — moves the recipe to
status = published. - Reject — sets status to
archivedand notifies the submitter (if email was provided).
Submission metadata
For every submitted recipe, the plugin records:
created_by— WP user ID (NULL for guests).submission_ip— client IP address.created_at— timestamp.
These are stored on the wp_plugixarecipe_recipes row itself; no separate “submissions” table.
Spam protection
- Honeypot field — hidden input that must be left empty. Simple but effective against crude bots.
- reCAPTCHA v2 / v3 — Google’s challenge. See Settings → Captcha.
- hCaptcha — privacy-friendly alternative.
- Rate limiting — one submission per IP per N minutes (configurable).
- Email verification — optional “confirm your email” step before publishing.
Email notifications
When a recipe is submitted:
- Admins receive an email (configurable recipient list).
- The submitter receives a confirmation email with their submission summary.
Templates are in the EmailNotifier class — override the plugixarecipe_submission_email_body filter to customize the text.
Accessibility
The form template uses semantic HTML with proper labels, ARIA attributes, and a focus-visible outline for keyboard users. Error messages are announced via aria-live="polite".