记录一次网站使用 B2 主题搬家,使用文本编辑器批量替换下载链接后导致文章中不显示下载框,进入后台编辑文章下载相关数据为空。后续经询问是下载设置相关数据是序列化以后的数组,无法直接替换,故在此分享下方法。
操作方法
注意:导入数据库前一定要备份好数据库,避免替换后出现意外导致网站数据丢失。
1.进入 SQL 数据库导出 wp_ postmeta 表。
2.使用 Python 完成批量替换。【数据匹配,检查匹配字符串是否跟图中一致】
3.上传并覆盖数据库。
4.检查文章链接是否正常。【PS:注意是否有缓存插件导致前端未更新,或进后台编辑文章查看。】
Python 文件
Python 文件中第 13 行数据匹配请确保字符串一致,不一致需做对应修改。
- import re
- def main():
- text = open('D:/Desktop/old.sql', 'r', encoding='utf-8')
- # 旧域名
- old_site = 'drive.manwuji.com'
- # 新域名
- new_site = 'drive.qishe.org'
- lines = text.readlines()
- write_data = ''
- for line in lines:
- if old_site in line:
- links = re.findall('s:3:\\\\\"url\\\\\";(.*?)\";s:', line)
- for link in links:
- data_len = re.findall('s:(.*?):\\\\\"', link)[0]
- new_len = int(data_len) + (len(new_site) - len(old_site))
- new_line = line.replace(data_len, str(new_len)).replace(old_site, new_site)
- write_data += new_line
- else:
- write_data += line
- # D:/Desktop/ 路径根据需求修改
- with open('D:/Desktop/new.sql', 'w', encoding='utf-8') as f:
- f.write(write_data)
- f.close()
- if __name__ == '__main__':
- main()
最后
如电脑无 Python 环境且匹配字符一致可下载本文附件拖入 SQL 文件回车即可。如有疑问可在站内反馈。
附件下载
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。