WordPress.org

Ready to get started?Download WordPress

Forums

Gravity Forms - Update Post
Custom fields not really working (11 posts)

  1. snails07
    Member
    Posted 2 years ago #

    Awesome plugin, but it appears that updating custom fields is only working intermittently.
    The title and body are working fine and update every time but the custom fields rarely update.
    I also have the Gravity Forms + Custom Post Types plugin installed and the custom taxonomies never update.

    http://wordpress.org/extend/plugins/gravity-forms-update-post/

  2. tomdaquino
    Member
    Posted 2 years ago #

    I'm using tons of custom taxonomies with my posts which are a custom post type and I haven't seen any issues. Then again maybe I haven't tested it enough. I'll bang on my forms a bit and see if I can reproduce the issue you are seeing. What version of WordPress and Gravity Forms are you using?

    -Tom

  3. snails07
    Member
    Posted 2 years ago #

    Using the latest version of both. WordPress version 3.3.2 and the Update Post plugin version 0.5.2

  4. tomdaquino
    Member
    Posted 2 years ago #

    So I was mistaken. It turns out that I am seeing the same exact problem. I'll spare the details as to why I didn't recognize the behavior the first time around but here's what I'm seeing now:

    I'm using a post form with custom post fields to insert data into several wp_postmeta fields. I have a separate form that I use to edit the post, including the custom post fields. When I update the post, with the edit form, the custom post fields create new meta-key/meta-value fields in wp_postmeta instead of editing the existing meta-key/meta-value data. That's actually kind of what I would expect given the nature of the wp_postmeta table.

    So I changed my post form as follows. On each of the custom post fields I checked the "Unique Custom Field" checkbox. I did not make any changes to the edit post form. When I add a post with the post form everything works fine. If I edit the post the original meta-values in the wp_postmeta table are modified instead of having new meta-key/meta-value pairs added. It should be problem solved but unfortunately, editing the post adds a bunch of unexpected data to the meta-value which totally breaks everything (my browser can't even render the post afterwards). Here's an example of the meta-key and meta-value before and after an edit:

    Before edit:
    key value
    wp_year 2010

    After edit:
    key value
    wp_year a:1:{i:0;s:5:"2010";}

    If I modify the edit post form and set all of the custom post fields to "Unique Custom Field", I still see the same effect. I have yet to determine why this happens but I'm still testing various configurations.

    -Tom

  5. tomdaquino
    Member
    Posted 2 years ago #

    Ok, so I got it worked out. You have to set custom fields to "Unique Custom Fields" in the Gravity Forms Form Editor if you want to be able edit fields with this plugin. In addition, you have to change this line in the Gravity Forms - Update Post plugin code:

    $meta = get_post_meta($this->post['ID'], $field['postCustomFieldName']);

    To

    $meta = get_post_meta($this->post['ID'], $field['postCustomFieldName'], true);

    This line can be found under the comment "// If a custom field is unique, get all the rows and combine them into one"

    Thanks to dskvr for originally posting this fix here:
    http://wordpress.org/support/topic/plugin-gravity-forms-update-post-what-does-this-plugin-do?replies=15#post-2848742

    -Tom

  6. Kevin Miller
    Member
    Plugin Author

    Posted 2 years ago #

    Hi Guys-

    I was actually working on this bug over the weekend and I have submitted an update. The patch noted above is close but only fetches one meta value, even if there are multiple rows could be in the database. Let me know if anyone has problems with the update, I will check in on this thread frequently.

    Thanks,

    Kevin

  7. snails07
    Member
    Posted 2 years ago #

    Thanks Kevin, the custom fields all seem to be working now.

    The custom taxonomies aren't working properly though. I have checkboxes set up for my custom taxonomies and if I check one it saves okay, and then I edit the post again and check another taxonomy and this saves. But when I uncheck a taxonomy and update the post, it still stays checked.

    So it works fine to add a taxonomy but not to remove one.

    Thanks

  8. styledev
    Member
    Posted 2 years ago #

    Wanted to hop on the update bandwagon as I have extended this plugin for a client to allow for updating gravity forms field type "list".

    I was working off version 0.5.2 so I have included a diff to show what I did. If you need me to integrate these with v0.5.3 let me know. I should have some time later this week.

    https://gist.github.com/2830532

  9. dhechler
    Member
    Posted 1 year ago #

    Hey styledev,
    Did you ever port that fix over to v0.5.3?
    I'm wondering if there is a way to store lists as custom post meta and return that post meta as a list. Specifically lists with multiple columns.

  10. styledev
    Member
    Posted 1 year ago #

    No I didn't but you can get the code from the gist link I put in there.

    As for a way to store lists as a single custom post meta you would have to write custom code to get all list items before they are saved to the database and serialize them and store that as a custom post meta, then unserialize it when you retrieve it.

    Thought not sure why you would need to do this as the way lists are saved now work fine in terms of storing and pulling.

  11. dhechler
    Member
    Posted 1 year ago #

    Styledev,

    Thanks, i will look at that code.

    It does work for single column lists, but not for multicolumn lists as it stores the multi columns as metavalue = 'entrycolumnone|entrycolumntwo'. That cannot be split and returned into multiple columns.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic

Tags

No tags yet.