I just submitted a trac ticket about this:
The update_post_meta() and delete_post_meta() functions don’t know how to deal with post revision IDs. add_post_meta() does, it uses the following block of code to make sure the passed $post_id is a real post, not a revision:
if ( $the_post = wp_is_post_revision($post_id) )
$post_id = $the_post;
This is important because the global $post_id when a post is being saved is for the revision, not the real post. If you pass that to these functions, update_post_meta() and delete_post_meta() will try to update or delete the records related to the revision. When update_post_meta() fails to find any records for the post_id you submitted, it calls add_post_meta(). Each attempt at updating the meta will actually create a new row in the table.
For now I’m checking with wp_is_post_revision() before making any calls to the post_meta functions.
Updated: Mark Jaquith committed the patch less than two hours after I submitted it! I love WP.
Posted October 20, 2008 by Casey
Categories: Technology. Tags: bug, delete_post_meta(), meta, post meta, update_post_meta(), wordpress, wp_is_post_revision().
1 Comment(s)
Comments RSS
TrackBack Identifier URI
User contributed tags for this post:
revision (16) - wp_is_post_revision (11) - wordpress double post (11) - wordpress remove duplicate posts (9) - update_post_meta (7) - wordpress wp_is_post_revision (6) - wordpress post_meta (5) - wordpress double posts (5) - wordpress duplicate post remover (4) - Double post wordpress (4) - wordpress Duplicate Post Eraser (3) - remove duplicate posts wordpress (3) - wordpress update_post_meta (3) - duplicate post eraser plugin (3) - Duplicate Post Eraser wordpress (3) - wordpress the_post() (3) - update_post_meta bug (3) - wordpress the_post (3) - Duplicate Post Eraser (3) - delete duplicate wordpress post (2) - delete duplicate posts in wordpress (2) - prevent duplicate wordpress posts (2) - wordpress auto delete duplicate post (2) - Duplicate Post Eraser wordpress plugin (2) - wordpress double post fix (2) - wordpress duplicate post names (2) - add_post_meta (2) - wordpress double post delete plugins (2) - remove wordpress dupliacte post (2) - dup 1sex (2) - delete wordpress double posts (2) - auto duplicate delete post plugin for wordpress (2) - wordpress remove duplicate post (2) - delete dublicate posts wordpress (2) - wordpress bug when posting table (2) - how to remove duplicate posts in wordpress (2) - Duplicate Post plugin (2) - if post_meta (2) - don't duplicate post on wordpress (2) - Duplicate Posts Eraser (2) - prevent wordpress duplicate postings (2) - duplicate post eraser plugin wordpress (2) - wordpress add_post_meta (2) - wordpress remove duplicate (2) - wordpress deleting duplicate posts (2) - wordpress if post_meta (2) - double posting wordpress (2) - find duplicate posts wordpress (2) - duplicate remover wordpress (2) - wordpress double posting (2) - wordpress remove duplicates (2) - post_meta aux categories plugin wordpress (1) - how to avoid post revisons from rss feedwordpress (1) - double post meta entry wordpress (1) - delete double posts wordpress plugin (1) - wordpress post_meta table (1) - wordpress update_post_meta duplicate (1) - double post eraser wordpress (1) - auto add_post_meta wordpress (1) - wordpress double post? (1) - wordpress delete duplicate post (1) - wp plugin to delete duplicate posts (1) - wordpress plugin Duplicate meta description identifier (1) - wordpress duplicate post delete plugin (1) - RSS Entries in wordpress (1) - update_ post_meta() wordpress (1) - wordpress plugin delete duplicate entries (1) - update_ post_meta (1) - erase posts in wordpress (1) - how to delete rss entries from wordpress (1) - wordpress going double post (1) - duplicate post remover wordpress fix (1) - wordpress duplicate post plugin (1) - plugin wordpress delete double post (1) - auto delete double post wordpress wp plugin (1) - plugin that find and erase duplicate posts (1) - CREATE post_meta WORDPRESS (1) - feedwordpress Duplicate Posts fix plugin (1) - posts table records wordpress (1) - wordpress duplicate post fix (1) - plugin wordpress delete duplicate (1) - add_post_meta dont work (1) - auto delete duplicate post wordpress plugin (1) - how to eliminate double post rss on wordpress (1) - wordpress duplicate remover (1) - feedwordpress duplicate posts (1) - $post_meta (1) - wordpress archives double posts (1) - check duplicate posts wordpress (1) - how to remove wordpress duplicate post (1) - wordpress duplecate post names (1) - generate pdf with post_meta wordpress (1) - article2pdf post_metawordpress (1) - fast way delete duplicate posts in wordpress (1) - post_meta wp (1) - wordpress prevent duplicate posts (1) - woirdpress duplicate post eraser (1) - How to prevent double posting in Wordpress (1) - double post remover plugin (1) - if post_meta wordpress (1) - wordpress delete post meta on update (1) - wordpress prevent rss duplicate posts (1) - auto delete double comments wordpress (1) - wordpress functions update_post_meta (1) - duplicate feedwordpress (1) - post_meta (1) - wordpress revisions delete postmeta (1) - double postings wordpress plugin (1) - wp Duplicate Posts Eraser (1) - fix duplicate post wordpress (1) - erase duplicate permalink wordpress -2/ (1) - feedwordpress custom postmeta (1) - can we upload a file in post_meta (1) - duplicate posts eraser wp how does it work (1) - remove duplicates in wordpress (1) - duplicat post erazer wordpress plugin (1) - duplicate post removal (1) - wordpress duplicate posts (1) - double post wordpress plugin (1) - FeedWordPress duplicate post fix (1) - wordpress duplicate photo (1) - wp duplicate post eraser (1) - Wordpress plugin duplicate post autodelete (1) - wordpress: doubled categories in post meta (1) - remove post_meta function (1) - wordpress public=1 duplicate (1) - wordpress prevent double post (1) - Duplicate Posts Eraser wordpress (1) - how to dele entries rss from meta (1) - standard post_meta plugin (1) - add_post_meta or update_post_meta (1) - how to remove duplicate post in wordpress (1) - wordpress bugs duplicate post entries (1) - prevent duplicate posts wordpress (1) - update_post_meta revisions (1) - feedwordpress showing double entries (1) - wordpress prevent duplicate comments (1) - wordpress insert table bug (1) - delete post_meta by post_id (1) - delete wordpress duplicate post (1) - wordpress delete double post (1) - wordpress duplicated metadata (1) - delete duplicate post in wordpress (1) - wordpress remove double posts (1) - wpmu remove duplicate posts (1) - wordpress duplicate post removal script (1) - wordpress plugin to prevent duplicate posts (1) - wordpress post meta being erased (1) - wordpress post by email auto delete duplicate post (1) -
Not as much as I love you for finding it! This bug was driving me absolutely insane.