用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 |
該項目遵循全企業規範。歡迎任何形式的貢獻!