Gravity Forms: Post Updates
Add to ListRequires PHP 5.3 or greater
Allows you to use Gravity Forms to update any post on the front end. If you use the “Gravity Forms + Custom Post Types”, you can even update custom post types and use custom taxonomies.
Features
- Supports custom field file uploading and deletion with thumbnails or mime type icons for existing items.
- Fixed a bugs on multi selects and checkboxes.
- Fixed bug on Categories.
- Completely removed the ability to delete posts.
- There are some filters to customize things now.
- Adds non-query-var template method to setup a form.
- Adds a really basic shortcode to setup a form (UPDATE: This is still supported, but it is better to use the addition, below, to the gravityform shortcode).
- Adds an additional attribute to the gravityform shortcode: “update”
SHORTCODE
[gravityform id="1" update] // Loads current post for editing
[gravityform id="1" update="34"] // Loads post where ID=34 for editing
We worked with Rocketgenius, makers of Gravity Forms, to get a small upgrade added that allows us to extend their shortcode, so now you can simply add the “update” attribute to the normal “gravityform” shortcode. If you only add “update”, it will load the current post in to update. If you add an integer to the update attribute, it will use that to load a post by its ID.
URL QUERY VARIABLE
- At the heart, it is pretty similar to how it was, but now there is a nonce required to activate it.
-
So you should use the action to create your links.
do_action(‘gform_update_post/edit_link’);
do_action(‘gform_update_post/edit_link’, array(
‘post_id’ => $post->ID,
‘url’ => home_url(‘/edit_post/’),
) );
Arguments (query string or array)
post_id
(int) (optional) The id of the post you want to edit. Default: global $post->IDurl
(string|int) (optional) Either the full url of the page where your edit form resides, or an id for the page/post where the edit form resides. Default: get_permalink()text
(string) (optional) The link text. Default: “Edit Post”title
(string) (optional) The title attribute of the anchor tag. Default: (text) parameter
Get just the URL
This will return a basic edit url
apply_filters('gform_update_post/edit_url', '');
Specify post to edit (post_id) and post that holds the edit form (url)
apply_filters('gform_update_post/edit_url', 1, home_url('/edit_post/'));
Shortcode to show the edit link
[gform_update_post_edit_link]
Specify post to edit (post_id) and post that holds the edit form (url)
[gform_update_post_edit_link post_id=1 url=6]
IN TEMPLATE
You can use the action to force a form show a specific post:
do_action('gform_update_post/setup_form');
do_action('gform_update_post/setup_form', $post->ID);
do_action('gform_update_post/setup_form', array('post_id' => $post->ID, 'form_id' => $form_id));
Parameters
post_id
(int|array) (optional) The id of the post you want to edit or an array with post id and/or form id. This allows you to specify the form id, so that update functionality does not get applied to other forms on the page. Default: global $post->ID