JetEngine CCTS
Integratie met de JetEngine-plugin van Crocoblock.
Het GraphQL-schema bevat velden om Custom Content Type (CCT)-gegevens op te vragen.
Rootvelden
| Veld | Beschrijving |
|---|---|
jetengineCCTEntries | Geeft een lijst van CCT-vermeldingen terug (type JetEngineCCTEntry). |
jetengineCCTEntryCount | Geeft het aantal CCT-vermeldingen terug. |
jetengineCCTEntry | Geeft een enkele CCT-vermelding terug (type JetEngineCCTEntry). |
De CCT-slug moet worden opgegeven via het argument slug (de CCT moet als opvraagbaar worden ingesteld in de plugin-instellingen, zie hieronder).
Type JetEngineCCTEntry
Bij het type JetEngineCCTEntry kun je veldwaarden opvragen via:
| Veld | Beschrijving |
|---|---|
id | Het database-ID van de vermelding. |
uniqueID | Een unieke identificator voor de vermelding, samengesteld uit de CCT-slug en het ID van de vermelding. |
cctSlug | De slug van de CCT waartoe deze vermelding behoort. |
status | De status van de vermelding (bijv. publish, draft). |
createdDate | Wanneer de vermelding is aangemaakt. |
createdDateStr | De aanmaakdatum van de vermelding, opgemaakt als een string. |
modifiedDate | Wanneer de vermelding voor het laatst is gewijzigd. |
modifiedDateStr | De datum van de laatste wijziging van de vermelding, opgemaakt als een string. |
authorID | Het ID van de auteur van de vermelding. |
author | Het verbindingsobject van de auteurgebruiker. |
singleCustomPostID | Het ID van de gekoppelde enkele aangepaste post, indien aanwezig. |
singleCustomPost | Het verbindingsobject van de gekoppelde enkele aangepaste post. |
fieldValues | Een JSON-object met alle CCT-velden voor die vermelding. |
fieldValue(slug) | Om een enkel veld op te vragen via slug. |
CCT-veldwaarden
Waarden van fieldValue(slug) en van elke sleutel in fieldValues worden omgezet volgens het veldtype dat in de CCT is gedefinieerd.
Impliciete ID-velden (altijd omgezet naar int wanneer aanwezig en niet leeg): id, singleCustomPostID, authorID.
Hoe elk CCT-veldtype wordt omgezet in de GraphQL-respons:
float bij decimaal punt; anders int.true voor 1, true, yes, on (niet hoofdlettergevoelig).int; "Both" → object { id, url }; anders ongewijzigd.int[].int; meerdere → int[].Het onderstaande voorbeeld gebruikt een CCT met slug "sample_cct" en velden van verschillende typen (text, number, gallery, enz.).

Bij het uitvoeren van de volgende query:
query JetEngineCCTEntries {
jetengineCCTEntry(cctSlug: "sample_cct", by: { id: 1 }) {
label_text: fieldValue(slug: "label_text")
textarea: fieldValue(slug: "textarea")
date: fieldValue(slug: "date")
time: fieldValue(slug: "time")
datetime: fieldValue(slug: "datetime")
wysisyg: fieldValue(slug: "wysisyg")
switcher: fieldValue(slug: "switcher")
checkbox: fieldValue(slug: "checkbox")
checkbox_array: fieldValue(slug: "checkbox_array")
iconpicker: fieldValue(slug: "iconpicker")
media_id: fieldValue(slug: "media_id")
media_url: fieldValue(slug: "media_url")
media_array: fieldValue(slug: "media_array")
gallery: fieldValue(slug: "gallery")
radio: fieldValue(slug: "radio")
repeater: fieldValue(slug: "repeater")
options_select: fieldValue(slug: "options_select")
options_multiple_select: fieldValue(slug: "options_multiple_select")
number: fieldValue(slug: "number")
colorpicker: fieldValue(slug: "colorpicker")
post: fieldValue(slug: "post")
posts: fieldValue(slug: "posts")
}
}...wordt elk veld in de respons omgezet naar het bijbehorende CCT-type:
{
"data": {
"jetengineCCTEntry": {
"label_text": "Some label",
"textarea": "Some description here\r\n\r\nSome description there",
"date": "2026-01-24",
"time": "09:13",
"datetime": "2026-03-07T08:00",
"wysisyg": "<p>Some <strong>description</strong> here</p>\n<p><em>Some description</em> there</p>\n<p>Some <a href=\"https://gatoplugins.com\">link</a></p>\n",
"switcher": true,
"checkbox": {
"one": true,
"two": false,
"three": true
},
"checkbox_array": [
"one",
"two"
],
"iconpicker": "fa fa-road",
"media_id": 1362,
"media_url": "https://gatographql.com/wp-content/uploads/GatoGraphQL-logo.webp",
"media_array": {
"id": 1380,
"url": "https://gatographql.com/wp-content/uploads/Funny-Dog.jpg"
},
"gallery": [
1361,
1362,
1363
],
"radio": "1",
"repeater": [
{
"label_(text)": "First item in repeater",
"date": "2026-01-17",
"time": "11:00",
"datetime": "2026-01-16T11:16",
"textarea": "Gato GraphQL provides a multitude of interactive clients,",
"wysiwyg": "<p>Gato GraphQL provides a <strong>multitude of interactive clients</strong>, and a user interface based on the <a href=\"https://wordpress.org\">WordPress editor</a>, so that anybody can operate it, whether a developer or not.</p>\n",
"switcher": true,
"iconpicker": "fa fa-inbox",
"media_id": 1361,
"media_url": "https://gatographql.com/wp-content/uploads/Funny-Dog.jpg",
"media_array": {
"id": 1380,
"url": "https://gatographql.com/wp-content/uploads/Funny-Dog.jpg"
},
"gallery": [
1363,
1361
],
"radio": "two",
"options_select": "three",
"options_multiple_select": [
"two",
"four"
],
"number": 22,
"colorpicker": "#757575",
"post": 1140,
"posts": [
1,
2
]
},
{
"label_(text)": "Second item in repeater",
"date": "2026-01-15",
"time": "00:18",
"datetime": "2026-01-18T00:00",
"textarea": "These clients make it very easy to interact with Gato GraphQL",
"wysiwyg": "<p>These clients <strong>make it very easy to interact with Gato GraphQL</strong>, directly within the <em>wp-admin</em> (and without the need of any PHP code), reducing friction and removing barriers so that anyone (developers and non-developers alike) can use it.</p>\n",
"switcher": false,
"iconpicker": "fa fa-search-plus",
"media_id": 1362,
"media_url": "https://gatographql.com/wp-content/uploads/LICENSE.txt",
"media_array": {
"id": 1363,
"url": "https://gatographql.com/wp-content/uploads/LICENSE.txt"
},
"gallery": [
1380,
1361,
1362
],
"radio": "three",
"options_select": "three",
"options_multiple_select": [
"three"
],
"number": 4469,
"colorpicker": "#2d2270",
"post": 2,
"posts": [
1688,
1682
]
}
],
"options_select": "1",
"options_multiple_select": [
"one",
"two",
"five"
],
"number": 66778899,
"colorpicker": "#721abf",
"post": 1,
"posts": [
1140,
1113
]
}
}
}Dezelfde type-omzetting geldt voor elk veld in de JSON die door fieldValues wordt teruggegeven:
query JetEngineCCTEntries {
jetengineCCTEntry(cctSlug: "sample_cct", by: { id: 1 }) {
fieldValues
}
}...wat het volgende teruggeeft:
{
"data": {
"jetengineCCTEntry": {
"fieldValues": {
"label_text": "Some label",
"textarea": "Some description here\r\n\r\nSome description there",
"date": "2026-01-24",
"time": "09:13",
"datetime": "2026-03-07T08:00",
"wysisyg": "<p>Some <strong>description</strong> here</p>\n<p><em>Some description</em> there</p>\n<p>Some <a href=\"https://gatoplugins.com\">link</a></p>\n",
"switcher": true,
"checkbox": {
"one": true,
"two": false,
"three": true
},
"checkbox_array": [
"one",
"two"
],
"iconpicker": "fa fa-road",
"media_id": 1362,
"media_url": "https://gatographql.com/wp-content/uploads/GatoGraphQL-logo.webp",
"media_array": {
"id": 1380,
"url": "https://gatographql.com/wp-content/uploads/Funny-Dog.jpg"
},
"gallery": [
1361,
1362,
1363
],
"radio": "1",
"repeater": [
{
"label_(text)": "First item in repeater",
"date": "2026-01-17",
"time": "11:00",
"datetime": "2026-01-16T11:16",
"textarea": "Gato GraphQL provides a multitude of interactive clients,",
"wysiwyg": "<p>Gato GraphQL provides a <strong>multitude of interactive clients</strong>, and a user interface based on the <a href=\"https://wordpress.org\">WordPress editor</a>, so that anybody can operate it, whether a developer or not.</p>\n",
"switcher": true,
"iconpicker": "fa fa-inbox",
"media_id": 1361,
"media_url": "https://gatographql.com/wp-content/uploads/Funny-Dog.jpg",
"media_array": {
"id": 1380,
"url": "https://gatographql.com/wp-content/uploads/Funny-Dog.jpg"
},
"gallery": [
1363,
1361
],
"radio": "two",
"options_select": "three",
"options_multiple_select": [
"two",
"four"
],
"number": 22,
"colorpicker": "#757575",
"post": 1140,
"posts": [
1,
2
]
},
{
"label_(text)": "Second item in repeater",
"date": "2026-01-15",
"time": "00:18",
"datetime": "2026-01-18T00:00",
"textarea": "These clients make it very easy to interact with Gato GraphQL",
"wysiwyg": "<p>These clients <strong>make it very easy to interact with Gato GraphQL</strong>, directly within the <em>wp-admin</em> (and without the need of any PHP code), reducing friction and removing barriers so that anyone (developers and non-developers alike) can use it.</p>\n",
"switcher": false,
"iconpicker": "fa fa-search-plus",
"media_id": 1362,
"media_url": "https://gatographql.com/wp-content/uploads/LICENSE.txt",
"media_array": {
"id": 1363,
"url": "https://gatographql.com/wp-content/uploads/LICENSE.txt"
},
"gallery": [
1380,
1361,
1362
],
"radio": "three",
"options_select": "three",
"options_multiple_select": [
"three"
],
"number": 4469,
"colorpicker": "#2d2270",
"post": 2,
"posts": [
1688,
1682
]
}
],
"options_select": "1",
"options_multiple_select": [
"one",
"two",
"five"
],
"number": 66778899,
"colorpicker": "#721abf",
"post": 1,
"posts": [
1140,
1113
]
}
}
}
}Toegang verlenen tot CCT's
Standaard zijn geen CCT's opvraagbaar.
Om toegang te verlenen tot een CCT, moet de CCT als opvraagbaar worden ingesteld in de plugin-instellingen.
Er zijn 2 plaatsen waar deze configuratie kan worden uitgevoerd, in volgorde van prioriteit:
- Aangepast: In de bijbehorende Schemaconfiguratie
- Algemeen: Op de pagina Instellingen
Selecteer in de Schemaconfiguratie die op het endpoint is toegepast de optie Aangepaste configuratie gebruiken en voer daarna de gewenste vermeldingen in:

Anders worden de vermeldingen gebruikt die zijn gedefinieerd in de optie Queryable JetEngine CCTS onder de sectie JetEngine CCTS in de Instellingen:

Voorbeeldqueries
CCT-vermeldingen weergeven:
query {
jetengineCCTEntries(cctSlug: "sample_cct") {
id
uniqueID
cctSlug
status
createdDate
modifiedDate
authorID
author {
id
name
}
singleCustomPostID
singleCustomPost {
id
title
}
fieldValues
someField: fieldValue(slug: "some_field_slug")
}
}Enkele CCT-vermelding op basis van slug en ID:
query {
jetengineCCTEntry(cctSlug: "sample_cct", by: { id: 1 }) {
id
uniqueID
cctSlug
status
createdDate
modifiedDate
author {
id
name
}
singleCustomPost {
id
title
}
fieldValues
someField: fieldValue(slug: "some_field_slug")
}
}CCT-vermeldingen weergeven en tellen met filter, paginering en sortering:
query {
jetengineCCTEntryCount(
cctSlug: "sample_cct"
filter: { search: [{ field: "cct_author_id", value: 1, operator: EQUALS }] }
)
jetengineCCTEntries(
cctSlug: "sample_cct"
filter: { search: [{ field: "cct_author_id", value: 1, operator: EQUALS }] }
pagination: { limit: 10, offset: 0 }
sort: { by: "cct_created", order: DESC }
) {
id
authorID
}
}