有一个名为articles
的mysql数据库,表名是文章,其中包含三个字段:subject
,content
,category
。字段category
有两个值,一个是c1
,另一个是c2
。
我的wordpress中有两个类别c1
和c2
现在,如何将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
下显示记录?
答案 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_content
,post_title
只是文字字段,author
是(可能)管理员的用户ID,日期/时间仅为NOW()
格式0000-00-00 00:00:00
等等。我查看现有插件并将其代码作为主要参考点,但为什么不只是使用他们的插件,因为他们已经完成了工作并且免费提供给你。
更直接地回答你的最后两个问题,
guid
是全球唯一标识符。理想情况下,它是互联网上唯一的ID;特定于您的域以及您网站上的每个帖子/页面/等。它主要用于RSS源,因此知道哪些内容是新的,并且在它被创建为唯一内容后you should never change it。
您需要在wp_posts中插入帖子,然后获取新插入的帖子的ID,并将其添加到wp_term_relations
表格以及您想要的类别ID中在wp_terms
表中。
Here's some more detais on the overall layout of the WordPres database