欧美精品一区二区不卡_麻豆免费在线_国产精品推荐精品_国产传媒一区_你懂的亚洲视频_一本色道久久综合亚洲精品小说_亚洲综合图区_国产一区二区久久久_色婷婷国产精品_а√天堂中文资源在线bt

WPGraphQL在無頭WordPress中自定義內容

創建自定義內容類型是無頭WordPress網站的一部分。通過自定義內容類型,開發人員可以以最適合的方式構建數據,從而確保內容管理的一致性和效率。無頭WordPress網站上,可以使用高級自定義字段來設計內容結構和用WPGraphQL來查詢數據。

高級自定義字段 (ACF) 簡介

雖然 WordPress 為帖子和頁面等內容類型提供了內置支持,但高級自定義字段 (ACF)允許用戶為 WordPress 網站自定義內容類型和字段。為帖子、頁面、自定義帖子類型和分類術語創建自定義字段。這些自定義字段可以存儲各種數據類型,包括文本、圖像、文件等,使其成為根據特定需求定制 WordPress 內容的工具。

首先使用 WordPress 管理儀表板中的 ACF 界面。您可以創建任何類型的自定義帖子類型并向其添加一些字段。

在 WordPress 中設置 GraphQL

要通過 GraphQL 公開 WordPress 數據,我們將使用 WPGraphQL 插件。WPGraphQL 提供了一個架構和端點來使用 GraphQL 語法查詢 WordPress 數據。

WPGraphQL 通過 GraphQL API 公開 WordPress 數據,充當 WordPress 和前端框架之間的橋梁。借助 WPGraphQL,開發人員可以精確地查詢 WordPress 內容,僅檢索特定請求所需的數據。

我們需要安裝兩個插件來使用 GraphQL 查詢訪問 ACF 數據:WPGraphQL 插件和 WPGraphQL for ACF 插件。

使用 GraphQL 查詢訪問 ACF 數據

用于訪問數據的設置

值得注意的是,您需要執行兩件事才能繼續訪問 ACF 數據。首先,選中 GraphQL 設置中的Enable Public Introspection。然后,在 ACF 中每個創建的帖子類型的頁面上,單擊“高級配置”滑塊。選擇標題為 GraphQL 的最右邊選項卡,然后啟用“在 GraphQL 中顯示”滑塊。

search fun 10 1024x646

GraphQL 查詢

讓我們深入了解如何使用 GraphQL 查詢從 WordPress 檢索 ACF 數據。

例如,下面是一個查詢,用于獲取產品列表及其 ACF 字段:

{
products {
  edges {
    node {
      id
      title
      acfFields {
        productName
        productDescription
        productImage {
          sourceUrl
          altText
        }
      }
    }
  }
}
}

讓我們分解一下查詢的每個部分正在做什么:GET_PRODUCTSgqlproductNameproductDescriptionproductImage

  1. products:這是查詢的根字段,表示我們要檢索與產品相關的數據。

  2. edges:這是 WPGraphQL 中使用的一種連接類型,用于表示具有分頁信息的項目列表。它通常在從列表或集合中查詢數據時使用。

  3. node:在每條邊內,都有一個表示單個產品物料的節點。這是每個產品的實際數據所在的位置。

  4. id:此字段請求每個產品的唯一標識符 (ID)。ID 通常用于唯一標識集合中的每個項目。

  5. title:此字段請求每個產品的標題。標題是與WordPress中的內容項關聯的常見信息。

  6. acfFields:此字段請求與每個產品關聯的自定義字段。在這種情況下,它專門要求使用高級自定義字段 (ACF) 插件創建的字段。

  7. productName、productDescription、productImage:這些是在 ACF 中為產品定義的自定義字段。查詢請求每個字段的數據,包括產品名稱、描述和圖像。

  8. sourceUrl、altText:這些是 productImage 字段的子字段,分別請求源 URL(即圖像的 URL)和 alt 文本(即圖像的替代文本)。

對于您自己的查詢,您可以將一些值替換為您自己的 ACF 字段名稱。productName``productDescription``productImage

在 React 應用中集成 ACF 數據

一旦我們有了 GraphQL 查詢,我們就可以將其集成到 React Web 應用程序中。此 React 組件使用前面的 GraphQL 查詢獲取產品數據并顯示產品列表。

import React from 'react';
import { useQuery, gql } from '@apollo/client';
?
const GET_PRODUCTS = gql`
{
products {
  edges {
    node {
      id
      title
      acfFields {
        productName
        productDescription
        productImage {
          sourceUrl
          altText
        }
      }
    }
  }
}
}
`;
?
const ProductList = () => {
const { loading, error, data } = useQuery(GET_PRODUCTS);
?
if (loading) return <p>Loading...</p>;
if (error) return <p>Error :(</p>;
?
return (
  <div>
  {data.products.edges.map(({ node }) => (
    <div key={node.id}>
      <h2>{node.title}</h2>
      <p>{node.acfFields.productName}</p>
      <p>{node.acfFields.productDescription}</p>
      <img src={node.acfFields.productImage.sourceUrl} alt={node.acfFields.productImage.altText} />
    </div>
  ))}
  </div>
);
};
?
export default ProductList;
Code language: JavaScript (javascript)

讓我們來看看這個 React 組件是如何工作的。

GraphQL 查詢定義

常量使用標記模板文本定義 GraphQL 查詢。此查詢從無頭 WordPress 后端請求產品的數據,包括其 ID、標題和自定義字段。GET_PRODUCTS``gql``productName``productDescription``productImage

ProductList 組件

在組件內部,鉤子用于執行 中定義的 GraphQL 查詢。它返回一個包含加載、錯誤和數據屬性的對象。如果查詢仍在加載 ( 為 true),則組件將呈現加載消息。如果在查詢執行過程中出現錯誤( 不為 null),則組件將呈現錯誤消息。如果查詢成功且沒有錯誤,則組件將呈現產品列表。useQuery``GET_PRODUCTS``loading``<p>Loading...</p>``error``<p>Error :(</p>

使用函數 on 呈現產品列表,該函數表示產品節點數組。對于每個產品節點,將呈現一個元素,并顯示產品的標題和(包括源 URL 和替代文本)。map``data.products.edges``<div>``productName``productDescription``productImage

結論

許多無頭 WordPress 網站需要能夠創建和查詢自定義內容類型。利用高級自定義字段 (ACF) 進行內容定制,利用 WPGraphQL 進行無縫數據檢索,為構建靈活且可定制的網站提供了強大的解決方案。

欧美精品一区二区不卡_麻豆免费在线_国产精品推荐精品_国产传媒一区_你懂的亚洲视频_一本色道久久综合亚洲精品小说_亚洲综合图区_国产一区二区久久久_色婷婷国产精品_а√天堂中文资源在线bt
国产精品毛片大码女人| 麻豆国产精品一区二区三区| 免费精品视频在线| 成人免费av网站| 国产精品国产精品国产专区不卡| 亚洲开发第一视频在线播放| 欧美美女网站色| 国产精品久久三| 久久精品国产99久久6| 91婷婷韩国欧美一区二区| 图片区小说区区亚洲五月| 日韩一区二区三区视频在线 | 国产精品私房写真福利视频| 午夜视频在线观看一区二区| 成人avav影音| 亚洲国产一区二区三区在线| 欧美成人乱码一区二区三区| 亚洲夂夂婷婷色拍ww47| 高清国产一区二区| 日本一区美女| 精品日韩av一区二区| 亚洲一二三区不卡| 成人av在线网站| 在线看无码的免费网站| 精品国产乱码久久久久久老虎| 亚洲午夜av在线| 91在线视频观看| 一本久久a久久免费精品不卡| 久久久精品国产99久久精品芒果 | 国产精品国产精品国产专区不片| 久久99精品一区二区三区三区| 国产一区二区三区四区hd| 欧美日韩国产区一| 亚洲精品老司机| 成人精品在线视频观看| 一本一道久久a久久精品综合| 久久精品日韩一区二区三区| 麻豆精品在线视频| 久久伦理网站| 精品国产青草久久久久福利| 亚洲成va人在线观看| 91小宝寻花一区二区三区| 欧美午夜精品久久久久免费视| 精品久久久久久无| 首页亚洲欧美制服丝腿| 99国产在线视频| 欧美日韩在线播放三区| 精品国产免费一区二区三区四区 | 国产超碰91| 欧美日韩久久一区| 亚洲精品乱码久久久久久| 高清在线观看日韩| 亚洲午夜精品福利| 欧美成人午夜电影| 老司机精品视频在线| 久久国产精品免费一区| xfplay精品久久| 久久电影国产免费久久电影| 日本一区二区三区视频在线播放 | 在线观看91视频| 日韩伦理免费电影| 91碰在线视频| 欧美日本精品一区二区三区| 亚洲免费av高清| 91亚洲午夜精品久久久久久| 色综合中文字幕| 成人免费在线视频| 成人app在线| 91麻豆精品国产91久久久久久| 亚洲一二三四区| 免费h精品视频在线播放| 欧美变态tickling挠脚心| 黄色成人免费在线| 亚洲一区影院| 一区二区高清视频在线观看| av一区二区在线看| 欧美电影免费观看高清完整版| 青娱乐精品在线视频| 日韩亚洲欧美精品| 国产精品久久综合| www日韩av| 精品日韩一区二区三区免费视频| 国产尤物一区二区在线| 亚洲欧美在线网| 一区二区三区日韩欧美精品| 国产伦精品一区二区三区四区视频 | 免费的国产精品| 日韩精品av一区二区三区| 久久精品免视看| 国产精品一区二区三区网站| 91福利区一区二区三区| 亚洲一区二区中文在线| 精品国产免费一区二区三区 | 日韩精品一区二区三区视频在线观看| 美女视频黄 久久| 亚洲精品国产精品久久| 亚洲精品国产a久久久久久| 国产成人免费观看| 久久精品一区八戒影视| 国产在线播放一区三区四| 日本韩国欧美国产| 亚洲男人的天堂av| 久久大片网站| 中文在线一区二区| 91美女在线看| 精品动漫一区二区三区在线观看| 国产精品一卡二卡在线观看| 欧美日韩在线免费视频| 日韩成人一区二区| 亚洲v欧美v另类v综合v日韩v| 亚洲欧美电影院| 国产精品日本一区二区 | 国内精品视频一区二区三区八戒| 色综合久久久久网| 亚洲小少妇裸体bbw| 欧美一区二区三区在线免费观看 | 国产精品美女久久久久久久| 99爱精品视频| 国产女同性恋一区二区| 97se亚洲国产综合自在线| 日韩天堂在线观看| 国产精品综合一区二区三区| 欧美人牲a欧美精品| 精品无人码麻豆乱码1区2区| 欧美日韩中文一区| 韩国女主播成人在线| 欧美私人免费视频| 韩国精品主播一区二区在线观看| 欧美日韩一级二级| 麻豆精品视频在线| 91麻豆精品国产91久久久使用方法| 国产乱子伦视频一区二区三区| 91精品婷婷国产综合久久| 国产成人啪免费观看软件| 欧美日韩久久不卡| 波多野结衣欧美| 国产欧美一区二区三区鸳鸯浴| 波多野结衣精品久久| 成人欧美一区二区三区1314| 蜜桃av色综合| 亚洲高清免费视频| 色婷婷狠狠综合| 精品一区二区在线视频| 精品欧美黑人一区二区三区| 91麻豆免费在线观看| 国产精品免费av| 欧美亚州在线观看| 首页国产欧美日韩丝袜| 欧美性xxxxx极品少妇| 国产精品2024| 久久久国产一区二区三区四区小说 | 久久精品72免费观看| 日韩一区二区三区免费看| 51蜜桃传媒精品一区二区| 国产精品理论片在线观看| 欧美日韩精品免费观看| 石原莉奈在线亚洲二区| 精品视频123区在线观看| 成人性生交大片| 欧美激情综合五月色丁香| 久久精品国产理论片免费| 亚洲美女免费在线| 自拍偷拍亚洲色图欧美| 国产不卡在线一区| 中文字幕免费一区| 色综合中文字幕| 国产ts人妖一区二区| 中文字幕在线一区| 一区二区三区三区在线| 不卡一二三区首页| 中文字幕一区二区5566日韩| 91福利精品第一导航| 成人免费视频网站在线观看| 中文字幕色av一区二区三区| 在线观看日韩羞羞视频| 成人教育av在线| 椎名由奈av一区二区三区| 欧美最猛黑人xxxxx猛交| 99这里只有精品| 一区二区日韩av| 69堂精品视频| 国产99在线播放| 丝袜美腿亚洲一区| 欧美成人一区二区三区在线观看 | 国产精品女主播在线观看| 色综合久久综合| 97精品国产97久久久久久久久久久久| 一区二区国产盗摄色噜噜| 欧美精品高清视频| 精品久久久三级| 精品一区二区免费视频| 国产精品久线在线观看| 欧洲亚洲精品在线| 999精品视频一区二区三区| 亚洲va欧美va人人爽| 精品国产1区2区3区| 天堂社区 天堂综合网 天堂资源最新版| 国产成人av电影在线观看| 亚洲精品国产a久久久久久| 日韩欧美亚洲国产另类|