Foxhound

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

从 WordPress 4.7(2016 年 12 月)开始,WordPress 就内置了一个 JSON API。想看看吗?点击这里 CSS-Tricks 上的这个 URL。它有 大量的文档

该 JSON API 可用于各种用途。我认为 API 通常被认为是用于外部使用,例如将数据提供给其他网站。但同样有趣的是考虑在网站本身处理该 API。如今,许多网站都是这样构建的,使用了“现代 JavaScript”等等。

因此,可以构建一个 WordPress 主题,该主题使用其自己的 API 获取所有数据,从而创建一个完全客户端渲染的网站。

我原以为会有很多这样的主题可用,但似乎这个概念还比较新,所以并没有那么多。至少我找到的不多。不过,我确实找到了 Foxhound,由 Kelly Dwan 开发。它简洁美观。

它是基于 React 的,所以整个主题在逻辑上被分解成多个组件。

我将其部署到一个测试网站上,并且运行良好!为了能够点击四处操作,我导入了 “主题单元测试”数据,这是一种快速便捷的方式,可以将一堆典型的内容(文章、作者、评论等)填充到新的 WordPress 安装中,用于测试目的。

看起来只有页面的框架是服务器端渲染的。如果没有 JavaScript,您将一无所获。当然,您可以按照常规的服务器端渲染 WordPress 方式让所有这些工作,但您将重复大量工作,因此这里没有这样做也就不足为奇了。我认为您更有可能尝试服务器端渲染 React,而不是使 PHP 和 React 代码保持同步。

您点击的 URL 中大约有 50% 可以立即加载,就像您在 SPA 类型网站中预期的那样。看起来 PHP 渲染的框架页面中生成的任何链接都会刷新,而 React 组件中渲染的链接则以 SPA 方式加载。

我认为,如果您有兴趣构建一个 React 驱动的 WordPress 网站,这将是一个非常强大的基础。这在如今确实是一个趋势。我碰巧正在查看 Human Made 网站,他们表示他们为 ustwo 这样做了。

ustwo 希望构建一个解耦的网站,使用 WordPress 后端和 React 前端。Human Made 加入开发团队来构建 WordPress 组件,包括自定义帖子类型和自定义 REST API,以提供结构化数据供前端显示。

所以,你知道,如今人们正在为这种工作付费。