如何将文章导入wordpress?

时间:2015-03-22 04:40:31

标签: mysql wordpress

有一个名为articles的mysql数据库,表名是文章,其中包含三个字段:subjectcontentcategory。字段category有两个值,一个是c1,另一个是c2
我的wordpress中有两个类别c1c2 现在,如何将article db中的表articles中的所有记录导入mywp中的wordpress wp_posts表(wordpress的mysql数据库名称)。

show columns from wp_posts;

  +-----------------------+---------------------+------+-----+---------------------+----------------+
| Field                 | Type                | Null | Key | Default             | Extra          |
+-----------------------+---------------------+------+-----+---------------------+----------------+
| ID                    | bigint(20)          | NO   | PRI | NULL                | auto_increment |
| post_author           | bigint(20) unsigned | NO   | MUL | 0                   |                |
| post_date             | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_date_gmt         | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_content          | longtext            | NO   |     | NULL                |                |
| post_title            | text                | NO   |     | NULL                |                |
| post_excerpt          | text                | NO   |     | NULL                |                |
| post_status           | varchar(20)         | NO   |     | publish             |                |
| comment_status        | varchar(20)         | NO   |     | open                |                |
| ping_status           | varchar(20)         | NO   |     | open                |                |
| post_password         | varchar(20)         | NO   |     |                     |                |
| post_name             | varchar(200)        | NO   | MUL |                     |                |
| to_ping               | text                | NO   |     | NULL                |                |
| pinged                | text                | NO   |     | NULL                |                |
| post_modified         | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_modified_gmt     | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| post_content_filtered | longtext            | NO   |     | NULL                |                |
| post_parent           | bigint(20) unsigned | NO   | MUL | 0                   |                |
| guid                  | varchar(255)        | NO   |     |                     |                |
| menu_order            | int(11)             | NO   |     | 0                   |                |
| post_type             | varchar(20)         | NO   | MUL | post                |                |
| post_mime_type        | varchar(100)        | NO   |     |                     |                |
| comment_count         | bigint(20)          | NO   |     | 0                   |                |
+-----------------------+---------------------+------+-----+---------------------+----------------+

wp_posts中有很多字段,源数据库中只有3个字段 最重要的是:
1.如何设置guid何时插入记录?
2.在类别为c1的文章数据库中的记录被插入到wp_posts表中后,如何在wordpress中的类别c1下显示记录?

2 个答案:

答案 0 :(得分:1)

我认为您可以使用名为Wordpress Importer的插件。

答案 1 :(得分:0)

我已经做了几次这样的事情,我向你们保证,这不仅仅是INSERT进入wp_posts。帖子有足够的额外内容,使用插件可以更快地完成它;即耗时是正确格式化的slug,格式化的日期/时间,wp_term_relationships表中的引用以记录类别,以及您拥有的任何元数据。我个人更喜欢WP Ultimate CSV Importer Plugin,但有很多选项(several briefly explained here)。

基本上,您将数据从article表导出到.csv文件中,然后使用WP Importer上传到文件。我提到的那个查看了cvs标题,并允许您手动将它们映射到每个特定于WordPress的字段。例如,将您的content列映射到post_content列。

要注意的主要事项是,您一定要一次性导出/导入您拥有的所有信息 - 更难以覆盖现有数据(尽管我相信您可以这样做),确保csv文件包含列标题,并在导入之前备份WordPress ,因为以后手动修复问题会很麻烦。

如果确实希望手动执行此操作,那么最好的选择是进行大量研究和试验/错误,以查看需要哪些字段。其中大部分都很直接,耗费时间; post_contentpost_title只是文字字段,author是(可能)管理员的用户ID,日期/时间仅为NOW()格式0000-00-00 00:00:00等等。我查看现有插件并将其代码作为主要参考点,但为什么不只是使用他们的插件,因为他们已经完成了工作并且免费提供给你。

更直接地回答你的最后两个问题,

  1. guid是全球唯一标识符。理想情况下,它是互联网上唯一的ID;特定于您的域以及您网站上的每个帖子/页面/等。它主要用于RSS源,因此知道哪些内容是新的,并且在它被创建为唯一内容后you should never change it

  2. 您需要在wp_posts中插入帖子,然后获取新插入的帖子的ID,并将其添加到wp_term_relations表格以及您想要的类别ID中在wp_terms表中。

  3. Here's some more detais on the overall layout of the WordPres database