用Next.js和静态Web的功能来缩放WordPress!
yarn create next-app -e https://github.com/colbyfayock/next-wordpress-starter
# or
npx create-next-app -e https://github.com/colbyfayock/next-wordpress-starter将.env.local文件添加到root以下:
WORDPRESS_GRAPHQL_ENDPOINT="http://wordpressite.com/graphql"
在某些情况下,以上可能行不通。更改如下:
WORDPRESS_GRAPHQL_ENDPOINT="http://yourhost.com/index.php?graphql
该项目的目标是将WordPress作为无头CMS,并使用Next.js创建静态体验,而无需任何可以在任何地方部署的第三方服务。
希望能够构建尽可能多的功能,以支持WordPress上开箱即用的主题通常期望的东西。目前,这些功能包括:
此外,该主题有望是SEO友好的,并且表演者开箱即用,包括:
您还可以选择启用Yoast SEO插件支持以增强SEO! (见下文)
查看甲板上的问题!
想要一些基本的东西吗?在WordPress中使用MVP设置的MVP设置来查看我的另一个启动器,并在WordPress中启动并运行
该项目利用WPGRAPHQL使用GraphQl查询WordPress。为了向适当的端点提出该请求,我们需要设置一个环境变量,让Next.js知道在哪里请求网站信息。
创建一个本地称为.env.local的新文件,并添加以下内容:
WORDPRESS_GRAPHQL_ENDPOINT= " [WPGraphQL Endpoint] "用WPGRAPHQL端点替换变量的内容。默认情况下,它应该类似于[Your Host]/graphql 。
注意:环境变量可以选择在Next.config.js中静态配置
| 姓名 | 必需的 | 默认 | 描述 |
|---|---|---|---|
| wordpress_graphql_endpoint | 是的 | - | WordPress wpgraphql端点(例如:host.com/graphl) |
| wordpress_menu_location_navigation | 不 | 基本的 | 配置标头导航菜单位置 |
| wordpress_plugin_seo | 不 | 错误的 | 启用SEO插件支持(true,false) |
请注意,有些主题没有主要菜单位置。
要在本地启动该项目,请运行:
yarn dev
# or
npm run dev该项目现在应在http:// localhost:3000!
可以利用这一扩展来改善发展经验。要设置Visual Studio代码中的ESLINT扩展程序,将一个新文件夹添加到root .vscode 。在内部添加文件settings.json带有以下内容:
{
"editor.formatOnSave" : false ,
"editor.codeActionsOnSave" : {
"source.fixAll.eslint" : true
}
}使用此文件,ESLINT将自动修复和验证语法错误,并在保存上格式化代码(基于漂亮的配置)。
关于如何部署此项目以进行净化有两个选择:
next export导出项目当您首先基于此启动器导入项目时,应提供Essential Next.js插件。如果不是,则可以使用NetLify插件目录安装此插件。这将允许该项目充分利用所有本机Next.js功能,这些功能通过此插件NetLify支持。
导出该项目让Next.js将项目编译成包括HTML文件在内的静态资产。这使您可以将项目直接部署为静态站点,就像其他任何网站一样。您可以通过将next export添加到package.json内部build命令的末尾来做到这一点(ex: next build && next export )。
无论您选择哪种选项,都可以在创建新站点或导航到站点设置>“构建和部署”>“构建和部署”>“环境”并触发新部署后配置环境变量。
给定的Next.js是一个Vercel支持的项目,您可以简单地将项目导入新站点,并通过在导入期间添加或导航到设置>“环境变量”并添加新构建来配置环境变量。
为了避免其他配置文件,我们利用package.json的某些内置属性。JSON来配置网站的部分。
| 姓名 | 必需的 | 描述 |
|---|---|---|
| 首页 | 是的 | 主页或主机名用于构建完整URL(EX OPEN GRAPH) |
homepage属性将更新需要完整URL的实例,例如打开图标签该项目旨在利用默认情况下的许多内置WordPress功能,例如典型的WordPress主题。其中包括:
| 姓名 | 用法 |
|---|---|
| 站点语言 | <html>标签上的lang属性 |
| 网站标题 | 主页标头,页面元数据 |
| 标语 | 主页字幕 |
需要一些特定的WordPress配置来允许该起动器的最佳使用。
目前,此启动器不提供任何处理WordPress图像内容的机制。这些图像链接到“原样”,这意味着如果图像通过WordPress接口上传,则该图像将从WordPress提供。
要静态地提供图像,您有一些选择。
通过从JetPack启用图像加速器,您的图像将自动静态地提供并通过WP.com CDN进行缓存。此功能可以免费使用JetPack的基本安装,只需要将WordPress网站连接到JetPack Service。
喷气背包CDN
Yoast SEO插件得到了部分支持,其中包括大多数主要功能,例如元数据和开放图定制。
要启用插件,请将WORDPRESS_PLUGIN_SEO配置为true作为环境变量或next.config.js。
从Next.js WordPress启动器开始的网站的示例
WP Engine提供的面向公共项目的WordPress托管。

谢谢这些好人(表情符号钥匙):
科尔比·费托克(Colby Fayock) | 凯文·坎宁安 | Guillermo Angulo | 海因·斯奈曼 | grische ? | Jatin Rathee | 戴夫 |
Brad Garropy | Fábio销售 | 莱昂纳多·洛索维兹(Leonardo Losoviz) | Avneesh Agarwal | Phattarapol L. | 彼得·克鲁克尚克 | Shane O'Grady |
尼克·加斯威特(Nick Gaswirth) | Alexandruvisan19 | Ritik Chourasiya ? | 里克·诺尔顿 | Jedidiah Amaraegbu |
该项目遵循全企业规范。欢迎任何形式的贡献!