Submit a Recipe (reader submissions)

Let readers send you recipes through a form on your site. You review each one before it's published.

Looking for something else?

Or ask a real person →

The Submit a Recipe block adds a form where readers can send you their recipes, with a photo. Nothing goes live on its own: every recipe waits for you under Recipes, where you check it, tidy it and publish it.

It’s part of the Studio and Agency plans (see Installing Scrumptious Pro).

Add the form

  1. Create a page, e.g. Share your recipe.
  2. Add the Submit a Recipe block.
  3. Publish the page.

In the block’s sidebar you can turn off:

  • “Paste the whole recipe” box — readers paste a recipe and the form fills itself in.
  • Photo upload
  • Course menu — lists your existing courses.

Without a Studio or Agency license the form is hidden from visitors. Administrators see a note instead.

What readers fill in

  • Recipe name, Ingredients and Instructions (required).
  • Short description, prep and cook minutes, servings, course, notes and tips, and a photo (JPG, PNG or WebP).
  • Your name (shown on the recipe as Recipe by …) and Email (never shown).
  • A permission checkbox: I created this recipe (or have the right to share it) and the photo is mine. You can change the wording.

Ingredients and instructions are one per line. A line ending in a colon, like For the sauce:, starts a group.

Reviewing submissions

New submissions arrive as Pending recipes. The Recipes → Submissions menu shows how many are waiting.

  1. Go to Recipes → Submissions → Review submissions (or All Recipes → Pending).
  2. Open a recipe. The Submitted by box shows who sent it, with their email.
  3. Check and tidy it like any recipe: fix ingredients, add a course or diet, replace the photo.
  4. Click Publish. To show it on your blog, add it to a post with the Recipe Card block, or turn on recipe pages.

Don’t want it? Move it to the trash.

The cook’s name appears on the card as Recipe by …. Change it under Details → Author name.

Emails

  • You get an email for each new submission, with a link to review it. It goes to the site’s admin email unless you set another address.
  • The cook gets an email when you publish their recipe (you can turn this off).

Emails use WordPress’s normal mail. If you don’t receive them, set up an SMTP plugin.

Settings

Recipes → Submissions:

SettingDefault
Who can submitAnyoneOr Only logged-in users (others see a log-in link).
Email new submissions toAdmin email
Email the cook when their recipe is publishedOn
Require a photoOff
Largest photo8 MB
Thank-you messageThanks! Your recipe was sent…Shown after sending.
Permission checkboxI created this recipe…
Cloudflare TurnstileOffOptional “I’m human” check.

Spam protection

Always on:

  • A hidden trap field that bots fill in and people don’t.
  • A speed check: forms sent within 3 seconds of loading are refused.
  • At most 5 recipes per hour from one visitor.
  • Your review before anything is published.

Optional:

  • Akismet — if the Akismet plugin is active with a key, every submission is checked automatically.
  • Cloudflare Turnstile — a free, usually invisible “I’m human” check. In Cloudflare, go to Turnstile → Add widget, add your domain, then paste the Site key and Secret key into Recipes → Submissions.

The “paste the whole recipe” box uses the built-in parser only, never AI, so visitors can’t run up your AI bill.

Privacy

Submissions store the cook’s name and email with the recipe (to credit them and email them). The visitor’s IP address isn’t stored with the recipe; a scrambled (hashed) version is kept for one hour for the hourly limit. Mention recipe submissions in your privacy policy.

For developers

  • Override the form: copy templates/submit-recipe.php from Scrumptious Pro to {your-theme}/scrumptious/submit-recipe.php.
  • Hooks: scrumptious_submission_data, scrumptious_recipe_submitted, scrumptious_submission_handled, scrumptious_submission_admin_email, scrumptious_submission_published_email, scrumptious_submit_form_context. The form fires a scrumptious:submitted DOM event. See Developers.