Opened 17 years ago
Closed 16 years ago
#7530 closed defect (bug) (worksforme)
update_postmeta_cache fails while create new posts
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | |
Component: | General | Keywords: | reporter-feedback has-patch |
Focuses: | Cc: |
Description
when a new post is created but not saved, the regex fails because the post id is negative at that point..
preg_replace('|[^0-9,]|', '', $post_ids);
needs to be changed to
preg_replace('|[^0-9,-]|', '', $post_ids);
or needs to be filtered as
preg_replace(apply_filters('update_postmeta_cache_regex','|[^0-9,]|'), '', $post_ids);
Attachments (2)
Change History (11)
#2
follow-up:
↓ 4
@
17 years ago
- Keywords reporter-feedback added; has-patch removed
Which version of WordPress are you using. In the current trunk (2.7) adding a custom field (post meta) inserts the post and gets proper ID even if both title and content are empty.
#3
@
17 years ago
2.6..
i created the patch off the trunk.. so i am assuming this should happen in trunk also.
#4
in reply to:
↑ 2
@
17 years ago
Replying to azaozz:
Which version of WordPress are you using. In the current trunk (2.7) adding a custom field (post meta) inserts the post and gets proper ID even if both title and content are empty.
yes. the way its programmed is, the meta is stored with the -ive post id and when the post is saved all the meta from the -ive post id is updated to the new generated post id. only this one function fails..
#7
@
17 years ago
- Milestone 2.7 deleted
- Resolution set to worksforme
- Status changed from new to closed
I think we've fixed the bugs where negative posts ID could sneak into meta. I think this is a non-issue now. Resolving as worksforme. Reopen if this can be reproduced against 2.7.
#8
@
16 years ago
- Resolution worksforme deleted
- Status changed from closed to reopened
but i think we should keep it open to saving -ive post ID into meta.
an example application is - we have created a plugin to replace the video uploader. the new video uploader have meta data for the video file that needs to be saved - even when the post is not saved. in this case the meta data is associated and saved with the temp -ive ID. when the post is saved we hook into post save and re associate everything with the temp ID to the newly generated ID.
#9
@
16 years ago
- Resolution set to worksforme
- Status changed from reopened to closed
agreed with ryan
@so1o: I've a couple plugins that deal with metadata too.
two functions I frequently add to my classes are:
- save_post($post_id) -> on save_post
- meta_box($post) -> add using add_meta_box
in save_post(), the first thing I do is:
if ( wp_is_post_revision($post_id) ) return;
hope this helps.
Option 1 Patch