WordPress REST API是现代WordPress开发中不可或缺的一部分,它允许开发者通过HTTP请求与WordPress站点进行交互。本文将重点介绍如何使用GET方法从WordPress REST API获取数据。
什么是WordPress REST API
WordPress REST API是一个基于HTTP协议的接口,它遵循RESTful架构风格,允许开发者通过标准HTTP方法(GET、POST、PUT、DELETE等)与WordPress站点进行交互。GET请求是最常用的方法,用于从服务器检索数据而不修改服务器状态。
基本GET请求结构
一个典型的WordPress REST API GET请求URL结构如下:
https://your-site.com/wp-json/wp/v2/{资源类型}
获取所有文章的请求:
https://your-site.com/wp-json/wp/v2/posts
常用GET端点示例
- 获取文章列表
fetch('https://your-site.com/wp-json/wp/v2/posts')
.then(response => response.json())
.then(posts => console.log(posts));
- 获取特定文章
fetch('https://your-site.com/wp-json/wp/v2/posts/123')
.then(response => response.json())
.then(post => console.log(post));
- 获取分类目录
fetch('https://your-site.com/wp-json/wp/v2/categories')
.then(response => response.json())
.then(categories => console.log(categories));
查询参数
WordPress REST API支持多种查询参数来过滤和排序结果:
per_page
: 每页显示的项目数page
: 页码search
: 搜索关键词order
: 排序方式(asc/desc)orderby
: 排序字段
示例:
https://your-site.com/wp-json/wp/v2/posts?per_page=5&page=2&order=asc&orderby=title
认证与权限
对于公开内容,GET请求通常不需要认证。但如果要访问私有内容或自定义端点,可能需要使用基本认证或JWT认证。
前端应用示例
以下是一个使用React获取并显示WordPress文章的简单示例:
import React, { useState, useEffect } from 'react';
function WordPressPosts() {
const [posts, setPosts] = useState([]);
useEffect(() => {
fetch('https://your-site.com/wp-json/wp/v2/posts')
.then(res => res.json())
.then(data => setPosts(data));
}, []);
return (
<div>
<h2>最新文章</h2>
<ul>
{posts.map(post => (
<li key={post.id}>
<h3>{post.title.rendered}</h3>
<div dangerouslySetInnerHTML={{ __html: post.excerpt.rendered }} />
</li>
))}
</ul>
</div>
);
}
性能优化建议
- 使用缓存减少API调用
- 合理设置
per_page
参数,避免一次性获取过多数据 - 只请求需要的字段(使用
_fields
参数) - 考虑使用CDN缓存API响应
总结
WordPress REST API的GET请求为开发者提供了灵活获取WordPress内容的方式。通过合理使用各种端点和查询参数,可以高效地构建各种类型的应用,从简单的博客展示到复杂的内容管理系统。掌握这些基础知识后,您可以进一步探索更高级的API功能,如自定义端点和更复杂的查询。