WordPress REST API GET请求详解

来自:素雅营销研究院

头像 方知笔记
2025年06月07日 05:38

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端点示例

  1. 获取文章列表
fetch('https://your-site.com/wp-json/wp/v2/posts')
.then(response => response.json())
.then(posts => console.log(posts));
  1. 获取特定文章
fetch('https://your-site.com/wp-json/wp/v2/posts/123')
.then(response => response.json())
.then(post => console.log(post));
  1. 获取分类目录
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>
);
}

性能优化建议

  1. 使用缓存减少API调用
  2. 合理设置per_page参数,避免一次性获取过多数据
  3. 只请求需要的字段(使用_fields参数)
  4. 考虑使用CDN缓存API响应

总结

WordPress REST API的GET请求为开发者提供了灵活获取WordPress内容的方式。通过合理使用各种端点和查询参数,可以高效地构建各种类型的应用,从简单的博客展示到复杂的内容管理系统。掌握这些基础知识后,您可以进一步探索更高级的API功能,如自定义端点和更复杂的查询。