How to let Wordpress readers submit recipes or other content?
December 16, 2011 1:46 PM   Subscribe

What's the best way to build a Wordpress feature allowing users to contribute content along the lines of recipes?

I'm building a Wordpress site where users would be able to share their own recipes. These recipes would be presented alongside cookbook offerings presented by the website's publisher. The recipes would then be filed under such categories as poultry, vegetarian, etc.

I'm having trouble thinking of a good way to set this up. The built-in Wordpress comments system, while good for discussions, seems awkward to adapt to something like this (unless there's a nice plugin that hijacks the Wordpress comments system for other purposes?) Then there was the plan to build a taxonomy of Custom Post Types. But while this is handy from the publishing side, I can't figure out how to safely let users submit their own Custom Posts without letting spammers mess up the system. Finally I tried an interesting plugin called RecipePress but it was odd, lacked documentation and the developer is pulling the plug on it.

Is there some widely-used, standard plugin out there that is good for this kind of thing (user-generated material, hopefully moderated like comments, but not different)? The recipes themselves wouldn't have to be any more complicated than the regular text blocks you find in posts.

Any help much appreciated.
posted by steinsaltz to Food & Drink (14 answers total) 4 users marked this as a favorite
Response by poster: Meant to type "different," not "not different"
posted by steinsaltz at 1:51 PM on December 16, 2011

I haven't used wordpress in a while; but I'm pretty sure you can set it up so that people who sign up have an Author role (or something similar), which allows people to sign up and use the wordpress admin interface to create new posts(/recipes), but not publish them.

Anyway, you might be able to do this with straight-up wordpress. Try making a new user and assigning roles other than Subscriber (or whatever the name of the user-who-can-comment is); and see if there's one that fits the level of access you want to give.
posted by ambilevous at 2:07 PM on December 16, 2011

Response by poster: Hi, that's an interesting idea. The only drawback is that I created a friendly, customized form for letting the user submit material, but this approach would instead make users go into Wordpress's dashboard, which might end up looking weird to them. But maybe it can be dressed up.
posted by steinsaltz at 2:10 PM on December 16, 2011

Best answer: Ambilevous has the right idea. I would set up a custom post type for recipes (if you get really fancy, you can mark up recipes with the hrecipe microformat).

You can lock down the user role for your recipe contributors so that they only see a fairly limited view of the WP admin interface. It's not as friendly as commenting, admittedly, but you're not giving them the keys to the kingdom either. There are a number of WP plugins that let you fine-tune role permissions. I have not looked into customized admin interfaces for different roles, but I wouldn't be surprised if they exist.
posted by adamrice at 2:17 PM on December 16, 2011

Best answer: Does it have to be Wordpress? (Stupid question, but some clients are flexible.) Tumblr makes this ridiculously easy. Easy to set up, easy to handle, etc. Details.
posted by dekathelon at 2:21 PM on December 16, 2011 [2 favorites]

Response by poster: HUH. Maybe I can have a Tumblr handle the recipe part. Thanks for that.

There's also an interesting "user-submitted posts" plugin I just came across.
posted by steinsaltz at 2:23 PM on December 16, 2011

Best answer: Many form packages allow you to have the content of the form populate a post.
posted by travis08 at 2:43 PM on December 16, 2011 [1 favorite]

Best answer: I'd look at Gravity Forms and it's ability to create posts (and custom post types). You can have spam-prevention measures enabled, users can submit a post that goes into a draft waiting to be published. I used a similar implementation for customer comments, and it works well.
posted by chrisfromthelc at 3:19 PM on December 16, 2011 [1 favorite]

Best answer: Gravity Forms Plugin will definitely do this. I've used it a few times and it works great.

There is also a Custom Post Type plugin for Gravity Forms, if you're using a custom post type.

You can add a Captcha to the form.

It is an excellent plugin.
posted by backwards guitar at 3:50 PM on December 16, 2011

Response by poster: Thanks. I think I just might go and buy Gravity Forms and save myself a lot of trouble.
posted by steinsaltz at 4:44 PM on December 16, 2011

Response by poster: Hmm, backwards guitar and christfromthelc, now wondering if you have any pointers on how to hook into this Post Creation ability of Gravity Post's. Guessing it might only be reachable through PHP hooks rather than GUI, right?
posted by steinsaltz at 5:35 PM on December 16, 2011

Response by poster: i mean Gravity Forms.
posted by steinsaltz at 5:35 PM on December 16, 2011

Best answer: You should be able to do most things from the GUI.

1. Create a new form.

2. On the right you'll see "Post Fields"... the items there correspond to your typical post. You can also use custom fields there if you so desire. So you can add TITLE, body, excerpt, etc. there.

Save your form, and when you submit you should see a new post in Draft mode (although you can change that by editing the POST TITLE field when you edit your form) with all the data you entered.

MeMail me if you're still stuck.
posted by backwards guitar at 9:50 PM on December 16, 2011

Response by poster: VERY COOL.
posted by steinsaltz at 9:52 PM on December 16, 2011

« Older Art school and bipolar meds   |   Shall I just wear a wig right now? Newer »
This thread is closed to new comments.