下载站自动化
本篇内容主要是为下载站 自动化 做准备。在这篇文章 中,我们已经准备好主要内容,比如标题、文章内容等等。
正常在Wordpress网站发布一篇文章,当然在前端页面将内容填充好,然后发布。但这样太慢,而且也没必要。所以最好的方式就是在代码中操作数据库,将数据直接插入到数据库对应表中。这样和手动编辑文章内容然后发布效果是一样的。这就跳过在前端手动编辑文章发布的步骤。
连接数据库
这里比较简单,大家都懂。通过 Navicat 或者在宝塔面板进入连接到数据库都行。要记得将数据库端口放开。
WordPress数据库表
WordPress数据库中表有好几个,好几个表有很多个字段。我们并不用全部知道,只需要知道用到的其中几个即可。
就是图中我用箭头标出的。
posts
这个表主要是存储文章或者图片,表中字段如下 。其实好几个字段一眼就知道啥意思,为了更直观。我拿出博客中一篇文章举例,看看文章和表中字段对应。举例文章 WordPress插件 引流吸粉到微信公众号 提高用户关注量 ,因为这篇文章字数少点。
我没说明的字段,要么没值,要么不重要
- post_date 2019-05-12 20:33:40
- post_date_gmt 2019-05-12 20:33:40
这两个字段在表中值都是一样的。如上,也懒的管他们之间有啥区别,反正统一插入时传当前时间。
- post_content
其实就是文章内容,也就是我们将 markdown 转成 html 的文本。
- post_title WordPress插件 引流吸粉到微信公众号 提高用户关注量
这就不用说了。
- post_status publish
文章状态等吧,也没太看懂。发布/草稿纸之类的,不传就行,会有默认值。
- comment_status
- ping_status
这两个字段也不用管啥意思,不传就行,会有默认值。
- post_name wordpress-plugin-wechat-advance-traffic
文章链接地址,我在发布文章自定义的。这里很重要
- guid https://guozh.net/?p=604
其实 604 刚好是主键 ID 的值,每篇文章有一个唯一的链接地址,就是如上 p=604 ,如果没有自定义地址,这个就是文章链接地址。可以不传。在插入这条数据成功后,获取主键值,更新这个字段数据即可。
下面看 terms 表。
如果对我博客够清楚,可以发现既存了 标签Tag ,也存了分类目录。每个字段意思都很清楚。分别是主键、名字、缩略名、最后一个也不知道是啥,不知道不影响。需要注意 主键 term_id ,它在这个表是主键,在表 term_taxonomy中却是外键,构成一一对应。
这里应该都懂我意思,比如从 terms
中拿出一条数据
36 第一勺金 diyishaoj 0
主键term_id
是 36 ,然后去 term_taxonomy
找term_id
是 36 的。
然后这条数据的主键是 term_taxonomy_id
,刚好也是 36 。这个字段刚好 又是 表_term_relationships
的外键。
在这个表中找到 term_taxonomy_id
是 36 的那条值。
以上这些是我们需要用到的表,需要知道后面这几个表中各字段啥意思吗? 并不需要,只要知道之间主从表关系即可,反正只要知道每篇文章有标签,文章又属于某个分类。只要将文章数据关联到对应分类就好了。
刚才这个例子并不太好,因为刚好第一勺金是个分类,如果是个标签就好了。我们可以从第一个表开始将插入文章内容成功后获取到主键ID,一步一步将后面的表全部关联起来。
如果想要更好的理解,最好的办法就是在 WP 后台写一篇文章,然后看看数据库这几个表数据的变化。
源码
最后,将我以前将文章插入到数据库表中的方法函数提供出来。可以借鉴,直接运行不行的,因为里面调用了其他方法。一些关键地方已经写了注释。
获取方法,在微信公众号「第一勺金」后台回复 「0513」。
本文由老郭种树原创,转载请注明:https://guozh.net/wordpress-mysql-analysis-code-provider/