Creare queries di supporto
Quando lavori con le traduzioni, puoi incontrare diverse situazioni in cui hai bisogno di identificare, analizzare o elaborare contenuti specifici sul tuo sito. Ad esempio:
- Trovare articoli contenenti un blocco Gutenberg specifico che non può essere tradotto
- Identificare articoli con dati corrotti o malformati
- Localizzare contenuti che necessitano di una revisione manuale o di una migrazione
- Recuperare elenchi di articoli, pagine o altri tipi di contenuto per operazioni in batch
Poiché Gato AI Translations for Polylang esegue Gato GraphQL sotto il cofano, puoi utilizzare comodamente questo strumento per creare queries GraphQL personalizzate per cercare, filtrare e recuperare informazioni dal tuo sito WordPress.
Attivare la Modalità Avanzata
Per eseguire queries GraphQL, devi prima attivare la Modalità Avanzata nelle Impostazioni del plugin.
Vai su Impostazioni > Configurazione del Plugin > Uso Avanzato e seleziona Attiva la Modalità Avanzata:

Una volta attivato, il tipo di articolo personalizzato Queries sarà disponibile nel menu di amministrazione di WordPress:

Naviga fino a Queries nel menu di amministrazione di WordPress e aggiungi una nuova voce. Assegnale un titolo descrittivo che indichi chiaramente cosa fa la query.
Esempi
Trovare articoli contenenti un blocco specifico
Un caso d'uso comune è identificare gli articoli contenenti un blocco Gutenberg specifico che non può essere tradotto. Questa query ti aiuta a localizzare tutti gli articoli che devono essere migrati verso un blocco diverso e traducibile.
Crea una nuova voce con il titolo Find posts containing a certain block e utilizza questa query:
query FindPostsContainingBlock(
$blockName: String!
) {
customPostCount(
filter: {
status: any,
search: $blockName
}
)
customPosts(
filter: {
status: any,
search: $blockName
},
pagination: { limit: -1 }
) {
id
title
customPostType
url
wpAdminEditURL
}
}Nota che possiamo fornire variabili alla query, così da poterla riutilizzare per blocchi diversi.
Ad esempio, per trovare gli articoli contenenti il blocco FAQ di Yoast, imposta le variabili GraphQL come segue:
{
"blockName": "yoast/faq-block"
}Quindi esegui la query:

Nella risposta, puoi vedere l'elenco degli articoli contenenti il blocco FAQ di Yoast. Cliccando su qualsiasi url si aprirà l'articolo nel frontend, oppure cliccando su qualsiasi link wpAdminEditURL si aprirà l'articolo nell'editor di WordPress.
{
"data": {
"customPostCount": 6,
"customPosts": [
{
"id": 38602,
"title": "BTS B",
"customPostType": "page",
"url": "https://www.mysite.com/bts-dietetique-b/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38602&action=edit"
},
{
"id": 38024,
"title": "Merci",
"customPostType": "page",
"url": "https://www.mysite.com/merci/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38024&action=edit"
},
{
"id": 38633,
"title": "BTS A",
"customPostType": "page",
"url": "https://www.mysite.com/bts-dietetique-a/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38633&action=edit"
},
{
"id": 34871,
"title": "Collagène marin B",
"customPostType": "page",
"url": "https://www.mysite.com/meilleurs-collagenes-marin/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=34871&action=edit"
},
{
"id": 34853,
"title": "Collagène marin A",
"customPostType": "page",
"url": "https://www.mysite.com/meilleur-collagene-marin/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=34853&action=edit"
},
{
"id": 33987,
"title": "Meilleur collagène en 2025 : l’avis d’un médecin (15 marques)",
"customPostType": "page",
"url": "https://www.mysite.com/meilleur-collagene/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=33987&action=edit"
}
]
}
}Correggere gli errori di dati corrotti
Un altro caso d'uso comune è la correzione degli errori di dati corrotti.
Ad esempio, se un elemento multimediale ha un riferimento al genitore inesistente, il plugin non riuscirà a tradurre il contenuto. Puoi correggere questo problema rimuovendo il riferimento al genitore.
Crea una nuova voce con il titolo Remove parent reference from media item e utilizza questa query:
mutation RemoveParentReferenceFromMediaItem($mediaItemID: ID!) {
updateMediaItem( input: { id: $mediaItemID, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}Ad esempio, per correggere l'errore di dati corrotti per l'elemento multimediale con ID 26066, imposta le variabili GraphQL come segue:
{
"mediaItemID": 26066
}Ed esegui la query.