Skip to content

Instantly share code, notes, and snippets.

@amon-ra
Created March 24, 2018 15:00
Show Gist options
  • Save amon-ra/088fd2ee90b4b7d3b06cd06404f2ae84 to your computer and use it in GitHub Desktop.
Save amon-ra/088fd2ee90b4b7d3b06cd06404f2ae84 to your computer and use it in GitHub Desktop.
Wordpress convert media ids from multisite shared media, betwen sites
import csv,re
#SELECT post_id,REPLACE(REPLACE(meta_value,';}',''),'a:1:{i:1;i:','') as new_post_id FROM `wp_3_postmeta` WHERE `meta_key` = 'msm_original_file'
d2 = {}
tables = ['wp_2_posts']
with open('media.csv', mode='r') as infile:
with open('media_result.sql',mode='w') as f:
reader = csv.reader(infile)
#rows0: new , rows1: old
for row in reader:
f.write("UPDATE wp_2_posts SET post_content = REPLACE(post_content,'wp-image-"+row[1]+"','wp-image-"+row[0]+"');\n")
f.write("UPDATE wp_2_posts SET post_content = REGEXP_REPLACE(post_content,'(\[gallery.*ids=[\",])"+row[1]+"([,\"].*?\".*\])','\\\\1"+row[0]+"\\\\2');\n")
f.write("UPDATE wp_2_postmeta SET meta_value = '"+row[0]+"' WHERE meta_key = '_thumbnail_id' AND meta_value = '"+row[1]+"';\n")
#$middle_content = preg_replace('/(\[gallery.*ids=[",])'.$old_attach_id.'([,"].*?".*\])/','${1}'.$attach_id.'${2}',$old_content);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment