Gatsby 和 WordPress graphQL:按 id 查询多个图像
Posted
技术标签:
【中文标题】Gatsby 和 WordPress graphQL:按 id 查询多个图像【英文标题】:Gatsby and WordPress graphQL : query multiple images by id 【发布时间】:2021-08-14 01:35:30 【问题描述】:我正在尝试在 Gatsby 上重新创建一个 WordPress 滑块
我想看看有没有办法通过id查询多张图片。我不想使用很多查询,而是使用一组 ID 的单个查询 - 当然如果可能的话:-)
例如,如果我想要 WordPress 库的 110,200,250,300,400 个媒体,查询会是什么?
将图像添加到我的 src 文件夹是否更有效?
谢谢!
【问题讨论】:
玩...游乐场? 【参考方案1】:我正在为类似的事情而苦苦挣扎,这个查询对我有用:
query MyQuery
mediaItems(where: in: [10, 12, 14])
edges
node
sourceUrl
srcSet
【讨论】:
【参考方案2】:考虑到您正在运行最新的插件版本
回答 1
您的查询可能如下所示:
query ImageQuery
allWpMediaItem(filter: databaseId: in: [390, 164])
nodes
localFile
childImageSharp
gatsbyImageData(layout: CONSTRAINED, formats: [AVIF, WEBP, JPG])
显然,您必须根据需要调整图像选项。
回答 2
如果您确实想定义一组图像以在自定义查询下返回,则需要扩展 WPGraphQL 架构并返回图像数组。我能想到的最简单的选择是创建一个自定义帖子类型Slider
并通过高级自定义字段添加一个转发器字段。由于 WPGraphQL 扩展支持 ACF,因此将其添加到架构中非常简单。您只需要将 Post Type 添加到架构中。在此处查看文档:https://www.wpgraphql.com/docs/custom-post-types/
【讨论】:
以上是关于Gatsby 和 WordPress graphQL:按 id 查询多个图像的主要内容,如果未能解决你的问题,请参考以下文章
在“gatsby-source-graphql”标头选项中异步生成承载令牌
如何在 Gatsby 中获取所有 Wordpress 帖子和显示标签
如何从 Gatsby WordPress 网站的页面内容查询中排除作者和日期