Hello
I would like to make a website which would be quite like a directory :
There is a free add-on for Gravity Forms which handles directory listings, as you already know. http://wordpress.org/extend/plugins/gravity-forms-addons/
1. There would be a free registration that will allow people to submit their websites.
This is included.
Submissions will auto create posts (set as drafts in wp post panel). They would be custom post types (or posts with custom fields).
This too is included. You can create live posts, pending review or draft posts. You can create posts with custom fields without an add-on. You can also create custom post types but may need the Custom Post Types add-on. http://wordpress.org/extend/plugins/gravity-forms-custom-post-types/ or the Types plugin http://wordpress.org/extend/plugins/types/ Joost de Valk describes how to do it here: http://yoast.com/gravity-forms-custom-post-types/
Admins will receive an email for each new submission so they are invited to log in the wp admin panel and check for new submissions to see if they validate it or not.
This is included.
The system would of course send emails to users that submitted websites for both cases (acceptation/rejection)
For what I understood from GF, I guess that should be feasable. Can you confirm ?
The user notification is sent upon successful form submission, or after payment is received (if you opt to hold the notification until after payment is received.) However, there is no concept of rejecting or approving the post in Gravity Forms. Once the form is submitted, the post and the Gravity Forms entry are disconnected. Gravity Forms will not notify the user if their post was approved or not. This would require an additional plugin to notify the author that their post was published. Here is one such plugin http://wordpress.org/extend/plugins/publish-post-email-notification/ However, that notifies the author only when the post is approved. You may need an approach such as this to send a notification when the post is trashed or otherwise not approved. http://www.iblognet.com/auto-notify-author-post-published-rejected.html That is not a plugin but the code is provided to make it happen.
The real complex part comes here :
2. There would be another option in this "directory" : a paying subscription.
That would be a yearly (monthly ?) recurring payment with paypal allowing user if his submission is accepted, not only to have his website listed in the directory but have it featured. So his website will be highligthed in the top of the list for its category (and home page)
OK. The PayPal Standard add-on supports subscriptions of monthly or yearly frequency with a limit on the number of charges. (i.e. bill monthly for 12 months, bill monthly forever, etc.)
Moreover, the paying user will have the possibility to post other custom-type-posts to present products or offers relative to its website.
I would like to be able to limit the number of "products" he has the right to publish. Let say in this option he would be limited to 10 products.
OK. You can do this as well but it won't be managed by Gravity Forms. Gravity Forms will collect the data and register your user. You would need to link the capabilities the user receives by registering and paying with other WordPress functions. There is a plugin called "Post Creation Limits" which sounds like it does exactly what you want http://wordpress.org/extend/plugins/bainternet-posts-creation-limits/
Can I do that with Gravity form ? will the user have to access to admin-panel through a contributor role in wp or can he post/submit products from front end ?
Contributors do not have access to your admin panel, unless you modify the role. There is no reason to do that. The posts and products should be submitted from the front end, via a form embedded in a WordPress page. There is no reason to send them to the WordPress admin, and there is no form submission capability there anyway, unless you have them use the form preview.
When the user stops paying subscription the website submitted in the directory would stay but not the products that would be unlisted from the directory (set as pending or draft in wp for example).
There is a hook gform_subscription_canceled http://www.gravityhelp.com/documentation/page/Gform_subscription_canceled which runs when a subscription is canceled. You can write a function to change the post status of any posts created by that user ID. This can be done with PHP code and the gform_subscription_canceled hook.
In the same order of ideas, this paying user also would be able to post real blog posts on the "directory blog". User can post a limited number of blog posts a year, but these posts would stay on the blog in case he cancels his subscription.
Same as above.
Products and blog posts will be published immediatly (in contrary to website submission that requires admin validation).
You can chose to publish posts immediately or hold them in pending review or draft status, when the form is created, so this too is possible.
3. Ideally, there would be several paying options (example, bronze, gold & silver package) that would authorize the paying user to post different quantity and nature of content on the directory.
Example :
- bronze package : website listing + 5 products => 10 dollars per year
- silver package : website listing + 10 products (at all) + 10 blogs posts/ a year => 15 dollars/year
- golden package : website listing + 20 products (at all) + illimited blog posts/a year => 20 dollars per year.
This too is possible. I would create three different roles and assign capabilities based on the package they signed up for. There are several role management plugins available. I like the Members plugin by Justin Tadlock http://wordpress.org/extend/plugins/members/ although there are others.
I have seen that there are several plugin associated with gravity forms that could help such as : gravity form directory, gravity form subscriptions
but i am not sure the whole system I imagined can be done as plugin descriptions are always limited.
I don't see anything in your requirements which seems impossible.
I am sorry if it's basic prepurchase questions but I want to be sure that I can do exactly what is specified here with GF, as I already bought several plugins/themes elsewhere which where supposed to enable me to build something like that but revealed not enough flexible to do so.
Thanks in advance for your answers. Don't hesitate to ask me developp my ideas if my explanation are not clear enough.
Your requirements are very clear. I did not see any roadblocks in what you're looking to do. However, the application you're designing is not simple, and will require custom PHP and integration with other plugins to make it happen. Gravity Forms will collect the data and you may have to use multiple forms to do it (registration and payment form, blog post form, directory submission form, product submission form, etc.) After capturing the data for you, Gravity Forms is done (with the exception of a canceled subscription) and it's up to you to manage the rest. Please ask if you have any additional information.
Posted 11 years ago on Saturday February 9, 2013 |
Permalink