WordPress-gegevens opvragen
WordPress-gegevens opvragenMedia

Media

Dit zijn voorbeelden van queries om mediagegevens op te halen en te bewerken.

Media ophalen

Een media-item met de afbeeldingsbron in verschillende formaten:

query {
  mediaItem(by: { id: 1647 }) {
    id
    srcSet
    src
    thumbSizeSrc: src(size: "thumbnail")
    largeSizeSrc: src(size: "large")
  }
}

Alle media-items (standaard met mime type "image") en alle afbeeldingsformaten:

query {
  imageSizeNames
  mediaItems {
    id
    srcSet
    src(size: "medium")
    sizes(size: "thumbnail")
    width
    height
    slug
    url
    urlPath
    title
    caption
    altText
    description
    date
    mimeType
  }
}

De uitgelichte afbeelding van berichten:

query {
  posts {
    id
    hasFeaturedImage
    featuredImage {
      id
      src
      width
      height
    }
  }
}

Media-items filteren:

{
  mediaItems(
    pagination: { limit: 3 },
    sort: { by: TITLE },
    filter: { dateQuery: { after: "2012-01-02" } }
  ) {
    id
    src
    height
    width
  }
}

Video- en audio-items ophalen:

{
  mediaItems(
    filter: { mimeTypes: ["video", "audio"] }
  ) {
    id
    src
  }
}

Media-items van de ingelogde gebruiker ophalen

De velden myMediaItemCount, myMediaItems en myMediaItem halen de media-items van de ingelogde gebruiker op:

query GetMediaItems {
  me {
    slug
  }
  
  myMediaItemCount
 
  myMediaItems(pagination: {
    limit: 3
  }) {
    ...MediaItemData
  }
 
  myMediaItem(by: { id: 1380 }) {
    ...MediaItemData
  }
}
 
fragment MediaItemData on Media {
  id
  mimeType
  src
  author {
    slug
  }
}

De uitgelichte afbeelding van een bericht instellen

We kunnen verwijzen naar elke afbeelding die bestaat in de Mediabibliotheek.

mutation {
  setFeaturedImageOnCustomPost(
    input: {
      customPostID: 1499,
      mediaItemID: 1505
    }
  ) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    customPostID
    customPost {
      ...on WithFeaturedImage {
        featuredImage {
          id
          src
        }
      }
    }
  }
}

Met geneste mutations:

mutation {
  post(by: { id: 1499 }) {
    setFeaturedImage(input: { mediaItemID: 1647 }) {
      status
      errors {
        __typename
        ...on ErrorPayload {
          message
        }
      }
      customPostID
      customPost {
        ...on WithFeaturedImage {
          featuredImage {
            id
            src
          }
        }
      }
    }
  }
}

Een bijlage uploaden naar de Mediabibliotheek

De mutation createMediaItem accepteert standaard geen onveilige URL's.

Lees de gids Media-items aanmaken vanuit onveilige URL's om te leren hoe je dit gedrag kunt aanpassen.

De URL doorgeven:

mutation CreateMediaItems {
  fromURL: createMediaItem(input: {
    from: {
      url: {
        source: "https://gatographql.com/assets/GatoGraphQL-logo.webp"
      }
    }
    caption: "Gato GraphQL logo"
    altText: "This is the Gato GraphQL logo"
  }) {
    mediaItemID
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    mediaItem {
      altText
      caption
      mimeType
      slug
      src
      title
    }
  }
}

De inhoud van de bijlage direct doorgeven:

mutation CreateMediaItems {
  createMediaItem(input: {
    from: {
      contents: {
        body: """
<html>
  <body>
    Hello world!
  </body>
</html>
        """
        filename: "hello-world.html"
      }
    }
    title: "Hello world!"
  }) {
    mediaItemID
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    mediaItem {
      altText
      caption
      mimeType
      slug
      src
      title
    }
  }
}

Een media-item aanmaken door het bijgevoegde bestand van een ander media-item opnieuw te gebruiken:

mutation CreateMediaItems {
  createMediaItem(input: {
    from: {
      mediaItemBy: {
        id: 1361
      }
    }
    title: "Hello world!"
  }) {
    mediaItemID
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    mediaItem {
      altText
      caption
      mimeType
      slug
      src
      title
    }
  }
}

Een media-item bijwerken

De alternatieve tekst en onderschrift van een afbeelding wijzigen:

mutation UpdateMediaItem {
  updateMediaItem(input: {
    id: 1380
    caption: "Updated caption"
    altText: "Updated alt text"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    mediaItem {
      altText
      caption
    }
  }
}