Opened 17 months ago
Last modified 9 months ago
#19764 new defect (bug)
Invalid JSON in custom fields meta value after export
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | WordPress.org |
| Component: | Import | Version: | 3.3.1 |
| Severity: | normal | Keywords: | needs-patch |
| Cc: |
Description
Hey there,
I exported a working copy of my online WordPress site to a local copy and noticed that the code gets changed; The backslash is removed which causes the json format to be invalide.
Original code in the custom fields meta
{"videos":{"0":"<iframe width=\"480\" height=\"360\" src=\"http://www.youtube.com/embed/YAozOaxXYx4\" frameborder=\"0\" allowfullscreen></iframe>"}}
Becomes in the local site after import
{"videos":{"0":"<iframe width="480" height="360" src="http://www.youtube.com/embed/YAozOaxXYx4" frameborder="0" allowfullscreen></iframe>"}}
Change History (5)
comment:2
follow-up:
↓ 3
abdessamad idrissi — 17 months ago
I think it has to do with the WordPress import utility because when I check the exported XML file I find the backslashes there.
- Component changed from Export to Import
- Version 3.3.1 deleted
Replying to abdessamad idrissi:
I think it has to do with the WordPress import utility because when I check the exported XML file I find the backslashes there.
Yep. The importer uses add_post_meta() which calls add_metadata() which strips slashes from the value.
comment:4
coffee2code — 13 months ago
- Keywords needs-patch added
- Version set to 3.3.1
comment:5
SergeyBiryukov — 9 months ago
- Milestone changed from Awaiting Review to WordPress.org

This is probably caused by stripslashes_deep($meta_value) in add_metadata().