『WordPress』移动端 API 接口

在网站的搭建上,选择有很多。有轻量级的Octopress,也有稍微重一点的Wordpress。前者没有数据库,写完文章后,直接转为HTML存在服务器上,后者是Mysql+PHP的组合。

之前做了一个客户端,接口写得相当之烂,有人给我发邮件想要看接口文件,我都没好意思发。有时间,便对接口文件进行了重构,所有使用Wordpress的博客,都可以使用这个接口。

本网站的接口文档:

http://tangjr.gitbooks.io/brighttj-api/content/index.html

本文接口开源地址:

https://github.com/saitjr/wordpress-api

环境信息

WordPress 4.2

ThinkPHP 3.2


 

正文

本文不会讲解具体的实现过程,仅说明需要注意的地方。

一、框架选择

这次接口选用的框架是ThinkPHP 3.2的核心库,相对来说还是比较轻量级的。

二、使用方法

1. 拷文件

将文件从Github上下载下来,拷到Wordpress所在的路径下。

2. 修改配置文件

找到Application/Api/Conf/config.php文件,里面是关于数据库的配置。可更具需要修改,一般需要修改:数据库地址、数据库名、用户名、密码、端口号、数据库前缀。其余的一般不用修改。

<?php

return array(
    //'配置项'=>'配置值'
    //* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'brighttj_wp',          // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  '12345',          // 密码
    'DB_PORT'               =>  '3306',        // 端口
    'DB_PREFIX'             =>  'wp_',    // 数据库表前缀
    'DB_PARAMS'             => array(), // 数据库连接参数    
    'DB_DEBUG'          =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志
    'DB_FIELDS_CACHE'       =>  true,        // 启用字段缓存
    'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8
    'DB_DEPLOY_TYPE'        =>  0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'DB_RW_SEPARATE'        =>  false,       // 数据库读写是否分离 主从式有效
    'DB_MASTER_NUM'         =>  1, // 读写分离后 主服务器数量
    'DB_SLAVE_NO'           =>  '', // 指定从服务器序号
);

?>

3. 接口调用

关于每个接口如何调用可以看本站的接口文档:

http://tangjr.gitbooks.io/brighttj-api/content/index.html

三、接口实现

这次一共实现了五个接口,主要是查询接口,关于留言接口,需要的字段太多,用户在客户端需要填写的信息过多并不是一个好的体验,所以并没有提供。

?1. 文章列表接口

文章列表返回的字段有:

id,分类id,分类名称,标题,作者id,作者名称,发布时间,评论数量,阅读量

所涉及到的表有:

wp_term_taxonomy,wp_terms,wp_term_relationships,wp_posts,wp_postmeta,wp_users

其中每个表的含义是:

wp_terms ?文章分类与标签

wp_term_taxonomy 标记哪些是分类,哪些是标签

wp_term_relationships 分类或标签与文章的关系

wp_posts 文章信息

wp_postmeta 装的插件的信息

wp_users 用户信息

需要这些表的目的是:

通过wp_terms,wp_term_taxonomy,wp_term_relationships,wp_posts可以获得相应文章分类。

通过wp_posts,wp_postmeta可以获得文章浏览量(前提是装了WP-PostViews插件)。

通过wp_posts,wp_users可以获得作者名称。

2. 文章详情接口

文章详情与文章列表的查询步骤差不多,只是WHERE条件中要多加一条文章id。除此之外,文章详情还需要显示的是文章评论,涉及到的表是wp_comments。

3. 文章查看次数接口

这个接口是用于当文章被查看时,调用增加文章浏览量的。使用前提依然是装了WP-PostViews插件。

4. 文章分类接口

用到了wp_terms,wp_term_taxonomy这两个表,获取全部分类。

5. 根据分类获得文章列表接口

与获取文章列表、文章详情所用的表相同,只需要添加一个判断分类id的条件即可。

四、注意事项

因为本站用了WP-PostViews插件(用来统计文章浏览量的,很好用),所以可以通过wp_postmeta表中的字段来获得文章浏览量,如果没有安装这个插件,那么需要删除SQL语句中与views相关的语句,否则会报错。

《『WordPress』移动端 API 接口》有27个想法

  1. 博主,你好!能使用您开发的接口,非常开心!
    但是在使用根据分类获得文章列表接口时,入参categoryId page 都设好了,
    但是在出参中
    {
    “data”: {
    “articleList”: []
    },
    “msg”: “读取成功”,
    “status”: 1
    }

    只有这个josn.不知道怎么回事,特来请教!希望你能及时给答复!谢谢您!

  2. 大神,请问一下,我这都设置好了配置文件,然后按照你的格式输入,并么有得到数据的返回呀?难道我要自己开发接口?

发表评论

电子邮件地址不会被公开。