4

我们从 1998 年开始发布每日博客,几乎在“博客”这个词被发明之前。我们在文件夹结构中设置了静态页面,但是 /year/month/date/index.shtml + content here

我们在 2008 年 11 月切换到 Wordpress,现在正在抓取 1998-2008 年的档案并转换为 JSON... 带有标题、描述、类别、日期,然后我们使用 PHP 小部件来读取 JSON,转换为 xml 并上传使用 WP RSS 上传器。问题是 RSS 加载器有很多错误并且失败了。它一直告诉我们帖子已经在数据库中,即使新帖子具有唯一的日期字符串和内容字符串。上传文件很小,只有3MB,PHP有足够的内存120MB,上传文件限制设置为32MB

我们注意到,如果使用 PHPMyAdmin 之类的工具从后端手动将记录添加到 wp_posts 表中,则可以正常工作。由于 RSS 导入被破坏,我们想尝试将旧帖子直接批量上传到 wp_post 表中,但我们还需要添加类别。我认为这是在 wp_term_relationships 表中完成的,其中 object_id = post 表中的 post_id。

任何人都可以添加更多的光吗?他们是否需要将更多的依赖项插入到其他表中?我们只对帖子感兴趣,没有评论或其他任何内容。我还需要知道 GUID 字段的标准是什么。

如果这是一个非常糟糕的主意,那么鉴于 3.6 中的 RSS 上传器已损坏,我们能做些什么呢?确实看到了 CVS 导入器插件,我们可以尝试一下……但我想知道我们是否可以直接在 PHPMyAdmin 或其他一些标准工具中直接导入数据库。我们只需要确保类别被插入。

4

3 回答 3

4

当然你可以在 PhpMyAdmin 中做到这一点。PhpMyAdmin > SQL

INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`)

你的价值观从这里开始。

VALUES(1, 1, '2013-11-05 03:06:30', '2013-11-05 03:06:30', 'Old blog post content', 'Post Title', '', 'publish', 'open', 'open', '', 'Post Name', '', '', '2013-11-05 03:06:30', '2013-11-05 03:06:30', '', 0, 'http://localhost:8080/wordpress/?p=1', 0, 'post', '', 1)


我会使用 MS Office 中的邮件合并功能来创建查询。将所有旧帖子放入 Excel 电子表格。电子表格的标题行应对应于... ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count

然后,当您的 xls 文件准备好时,在 MS Word 中创建一个新文档。当您选择新收件人时,请参考您创建的 xls 列表。将合并字段插入查询中的正确位置......它看起来像这样: VALUES('<ID>','<post_author>','<post_date>'.....

于 2013-11-05T03:26:36.323 回答
3

如果您对将旧数据直接导入 WordPress 数据库感到紧张,可以使用 CSV 作为中间格式。为此构建了许多插件。这是一个看起来正在积极开发中的:

http://wordpress.org/plugins/wp-ultimate-csv-importer/

于 2013-11-05T03:03:49.357 回答
1

好问题。

让我们考虑写一篇文章。那里写的所有信息都是关于 wp_post 的。在撰写 WordPress 帖子时,您可以输入 GUId 是什么以及其他元信息。此外,不能输入任何其他信息。

现在,

insert into 'wp_post' ('ID', 'post_author','post_date','post_date_gmt','post_content','post_content_filtered','post_title','post_excerpt','post_status','post_type','comment_status','ping_status','post_password','post_name','to_ping','pinged','post_modified','post_modified_gmt','post_parent','menu_order','post_mime_type','guid','post_category','tags_input','tax_input',meta_input');

在 phpmyadmin 中是最好的方法。

你应该看到参考

和一个数据库图。[数据库图[2]

wp_post以图表为中心很受其他表格的欢迎。

于 2018-05-08T16:47:53.633 回答