Avanzate
AvanzateCreare queries di supporto

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:

Attivazione della modalità avanzata
Attivazione della modalità avanzata

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

CPT Queries attivato
CPT Queries attivato

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:

Esecuzione della query GraphQL
Esecuzione della query GraphQL

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.