我们可以直接将帖子导入Wordpress数据库吗?

时间:2013-11-05 02:25:55

标签: php xml wordpress import rss

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

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:3)

当然可以在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>'.....

答案 2 :(得分:1)

好问题。

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

现在,

login.component.html
phpmyadmin中的

是最好的方法。

你应该看到the reference

和数据库图表。 [database diagram[2]

以图表为中心的

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'); 非常适合其他表格。