引言
本教程为《教你用WordPress开发app(小程序)-包含所有源代码》系列教程之一。
本教程后续更新会放在:清空网络科技工作室官网
在上一节中我讲解了用uni-app框架开发发现页面,在这一小节中我将讲解如何用WordPress开发发现页面的api接口。
开始
在发现页面中要显示的内容有六个分类,最新的几篇文章和六个标签,所以在该api接口中我们需要将这些都查出来。
创建六个分类

创建完成后如图:

创建六个标签

创建完成后如图:

编写接口
在我们自制主题的api文件夹下面新建接口文件:find.php

在find.php中写入如下代码:
<?php
// 接口名:发现页面
// 接口功能:获取六个分类,获取几篇最新文章,获取六个标签
// 教程地址:https://www.inacorner.top/455.html
header('Access-Control-Allow-Headers:*');
//引入WP加载文件,引入之后就可以使用WP的所有函数
require( '../../../../wp-load.php' );
//定义返回数组,默认先为空
$data = [];
// *******************************************获取六个分类*************************************
//获取所有分类id
$catIds = get_all_category_ids();
// 定义分类返回数组,默认为空
$cats = [];
// 根据分类id获取分类名称并且push进$cats,只需要六个所以循环六次
for ($i = 0; $i <6 ; $i++) {
$catList['ID'] = $catIds[$i];
$catList['name'] = get_cat_name($catIds[$i]);
$cats[$i] = $catList;
}
// *****************************************获取六个标签**************************************
// 定义标签返回数组,默认为空
$tags=[];
//wp获取标签函数
$tagData=get_tags(array('hide_empty'=>false));
// 将标签push进$tags,只需要六个所以循环六次
for ($i = 0; $i <6; $i++) {
$tagLi['ID']=$tagData[$i]->term_id;
$tagLi['name']=$tagData[$i]->name;
$tags[$i] = $tagLi;
}
//***************************************获取最新文章**************************************
// 定义文章返回数组,默认为空
$posts=[];
// 使用wp的查询文章函数查询最新文章列表
// 1、定义查询条件
$args = array(
'post_type'=>'post', //查询文章类型
'post_status'=>'publish', //查询文章状态
'posts_per_page'=>6, //显示6篇文章
'orderby'=>'date', //按照时间排序
'order'=>'DESC'
);
// 2、开始查询文章
query_posts($args);
if (have_posts()){ //如果查询出来了文章
// 循环文章数据
while ( have_posts() ) : the_post();
// 获取文章id
$post_id=get_the_ID();
// 定义单条文章所需要的数据
$list=[
"id"=>$post_id, //文章id
"title"=>get_the_title(), //文章标题
"img"=>get_the_post_thumbnail_url() //文章缩略图
];
// 将每一条数据分别添加进$posts
array_push($posts,$list);
endwhile;
}else {
// 如果没有文章
$posts=[];
}
//*********************************返回值***********************************************
$data['cats'] = $cats;
$data['tags'] = $tags;
$data['posts'] = $posts;
print_r(json_encode($data));
上传,在浏览器中访问接口,我的地址是: http://appblog.inacorner.top/wp-content/themes/wpApp/api/find.php

结束
在本接口中主要用到了一些wp的内置函数,其他的只要你略懂点php都能看得懂,所以总的来说难点并不大,如果你有什么疑问可以在下方留言。