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

Frontend submission form

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 archived and 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:

  1. Admins receive an email (configurable recipient list).
  2. 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".

Quick Links