Gatsby 和 WordPress graphQL:通过 id

问题描述

我正在尝试在 Gatsby 上重新创建 wordpress 滑块

我想看看有没有办法通过id查询多张图片。我不想使用很多查询,而是使用一组 ID 进行单个查询 - 当然,如果可能的话:-)

例如,如果我想要 wordpress 库的 110,200,250,300,400 媒体,查询会是什么?

将图像添加到我的 src 文件夹是否更有效?

谢谢!

解决方法

考虑到您正在运行最新的插件版本


答案 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/