Queries over plugin-data
Queries over plugin-dataMeta Box

Meta Box

Voorbeelden van queries om te werken met gegevens van de Meta Box plugin.

Meta Box aangepaste velden ophalen

Je kunt meta-velden gebruiken om aangepaste velden van Meta Box op te vragen, ongeacht het type:

query GetPost($postId: ID!) {
  post(by: { id: $postId }) {
    id
    title
 
    text: metaValue(key: "text_field")
    textarea: metaValue(key: "textarea_field")
    select: metaValue(key: "select_field")
    multiSelect: metaValues(key: "multi_select_field")
  }
}

Als de meta-waarde een relatie is (bijv. een post, een gebruiker, een taxonomie, enz.), kun je de waarde gebruiken om de bijbehorende entiteit van het type Post, User, Taxonomy, enz. op te vragen:

query GetPostWithRelationships($postId: ID!) {
  post(by: { id: $postId }) {
    id
    title
    
    # Exporteer de relatie naar een post
    relationshipPostId: metaValue(key: "relationship_post_id")
      @export(as: "relationshipPostId")
 
    # Exporteer de relatie naar een lijst van posts
    relationshipPostIds: metaValues(key: "relationship_post_ids")
      @export(as: "relationshipPostIds")
  }
}
 
query QueryPostRelationships @depends(on: "GetPostWithRelationships") {  
  # Query de relatie naar een post
  relationshipPost: post(by: { id: $relationshipPostId }) {
    id
    title
  }
 
  # Query de relatie naar een lijst van posts
  relationshipPosts: posts(filter: { ids: $relationshipPostIds }) {
    id
    title
  }
}

Meta Box aangepaste velden bijwerken

Je kunt meta-mutaties gebruiken om aangepaste velden van Meta Box bij te werken door hun veldnamen en waarden mee te geven, ongeacht het type:

mutation UpdatePost($postId: ID!) {
  updatePost(
    input: {
      id: $postId
      meta: {
        text_field: ["New text value"],
        textarea_field: ["New textarea value"],
        select_field: ["New select value"],
        multi_select_field: ["Choice 1", "Choice 2"],
      }
    }
  ) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    post {
      id
      text: metaValue(key: "text_field")
      textarea: metaValue(key: "textarea_field")
      select: metaValue(key: "select_field")
      multiSelect: metaValues(key: "multi_select_field")
    }
  }
}