织梦转wordpress的是时候,特色图片怎么处理
织梦转wordpress的时候,有个需求,就是特色图片的处理。感觉这个部分,是程序转换中最麻烦一个部分,这里记录一下转换的过程。
数据从哪里来到那里去
数据的来源是织梦的 dede_uploads 表,大概可以通过下面的sql语句,把数据同步到 worppress 表中。注意 下面的sql 语句, 是有问题的。不是所有上传的资源文件都是图片, 所有 post_mime_type 就不一定正确,这里只关注特色图片的处理。就默认是 image/jpeg 。
INSERT into wp_posts (
post_author, post_date, post_date_gmt,post_content, post_title,
post_status,comment_status, ping_status, post_name, post_type,
post_mime_type,guid, post_excerpt, to_ping, pinged,
post_content_filtered
) SELECT
1, FROM_UNIXTIME(uptime,'%Y-%m-%d %H:%i:%s'), FROM_UNIXTIME(uptime,'%Y-%m-%d %H:%i:%s'),"", title,
"inherit", "","closed",title,"attachment",
"image/jpeg", concat( "https://www.wpcode.cn", url), "", "", "",
""
from dede_uploads;
wordpress 的特色图片在数据库中是怎么存储的
- 在wp_posts 表中存储媒体资源
- 媒体资源组需要在 在 wp_postmeta 中 ( meta_key ) _wp_attached_file存储一下资源的位置。
- 通过 wp_postmeta 中的 ( meta_key ) _thumbnail_id 对资源进行关联。
- 最后还需要更新一下元信息 ( meta_key ) _wp_attachment_metadata,这个主要是让特色图片可以正常的显示。
注意的地方
- 一般来说,两个程序的默认上传的路径是不用的。同步后,需要保证可以打开。可以修改一下路径,也可以增加一个 连接 (ln -s old_dir new_dir),只要能保证打开
- _wp_attached_file 存的内容,是不包含上传目录的。
- _thumbnail_id 是一个post_id, 就是媒体资源的值。
- _wp_attachment_metadata 元信息中有个file, 没有这值,媒体库的图片会显示不正常。