MultilingualPress
MultilingualPressMultilingualPress

MultilingualPress

Integration mit dem Plugin MultilingualPress.

Das GraphQL-Schema wird mit den Feldern bereitgestellt, um mehrsprachige Daten abzurufen.

Typen Post, Page, PostTag und PostCategory

Frage die Sprache der Entität sowie die IDs der Übersetzungen für diese Entität ab.

Diese Typen implementieren das Interface MultilingualPressTranslatable.

FeldBeschreibung
multilingualpressTranslationConnectionsÜbersetzungsverbindungen für die Entität für alle Sites im Netzwerk, oder null, wenn keine Verbindung zugewiesen wurde.

Das Feld multilingualpressTranslationConnections liefert Ergebnisse vom Typ MultilingualPressTranslationConnection, aus denen wir die Site-ID und die Entitäts-ID für die Verbindung abfragen können. Es akzeptiert den Input includeSelf, um anzugeben, ob die Verbindung der abgefragten Entität in die Ergebnisse einbezogen werden soll (standardmäßig false), sowie die Inputs includeSiteIDs und excludeSiteIDs, um die in den Ergebnissen enthaltenen Sites zu filtern.

{
  posts {
    multilingualpressTranslationConnections {
      ...MultilingualPressConnectionData
    }
    categories {
      multilingualpressTranslationConnections {
        ...MultilingualPressConnectionData
      }
    }
    tags {
      multilingualpressTranslationConnections {
        ...MultilingualPressConnectionData
      }
    }
  }
 
  pages {
    multilingualpressTranslationConnections {
      ...MultilingualPressConnectionData
    }
  }
 
  postCategories {
    multilingualpressTranslationConnections {
      ...MultilingualPressConnectionData
    }
  }
 
  postTags {
    multilingualpressTranslationConnections {
      ...MultilingualPressConnectionData
    }
  }
}
 
fragment MultilingualPressConnectionData {
  siteID
  entityID
}

Typen GenericCustomPost, GenericTag und GenericCategory

Diese Typen implementieren das Interface MultilingualPressMaybeTranslatable.

GenericCustomPost ist ein Typ, der verwendet wird, um jeden auf der Site installierten Custom Post darzustellen, wie Portfolio, Event, Product oder andere. Ähnlich werden GenericTag und GenericCategory verwendet, um ihre Taxonomien darzustellen.

Jeder dieser CPTs und Taxonomien kann in den MultilingualPress-Einstellungen als übersetzbar definiert werden. Das Feld multilingualpressTranslationConnections verhält sich dann genauso wie bei Post und den anderen (oben beschrieben), und gibt auch null zurück, wenn der CPT oder die Taxonomie der Entität nicht für die Übersetzung konfiguriert ist.

Zusätzlich gibt das Feld multilingualpressIsTranslatable an, ob der CPT oder die Taxonomie als übersetzbar konfiguriert ist.

FeldBeschreibung
multilingualpressTranslationConnectionsÜbersetzungsverbindungen für die Entität für alle Sites im Netzwerk, oder null, wenn keine Verbindung zugewiesen wurde, oder wenn die Entität nicht für die Übersetzung konfiguriert ist (über die MultilingualPress-Einstellungen).
multilingualpressIsTranslatableGibt an, ob die Entität übersetzt werden kann.
{
  customPosts(filter: { customPostTypes: "some-cpt" }) {
    __typename
    multilingualpressIsTranslatable
    multilingualpressTranslationConnections {
      ...MultilingualPressConnectionData
    }
    ...on GenericCustomPost {
      categories(taxonomy: "some-category") {
        __typename
        ...on GenericCategory {
          multilingualpressIsTranslatable
          multilingualpressTranslationConnections {
            ...MultilingualPressConnectionData
          }
        }
      }
      tags(taxonomy: "some-tag") {
        __typename
        ...on GenericTag {
          multilingualpressIsTranslatable
          multilingualpressTranslationConnections {
            ...MultilingualPressConnectionData
          }
        }
      }
    }
  }
 
  categories(taxonomy: "some-category") {
    __typename
    ...on GenericCategory {
      multilingualpressIsTranslatable
      multilingualpressTranslationConnections {
        ...MultilingualPressConnectionData
      }
    }
  }
 
  tags(taxonomy: "some-tag") {
    __typename
    ...on GenericTag {
      multilingualpressIsTranslatable
      multilingualpressTranslationConnections {
        ...MultilingualPressConnectionData
      }
    }
  }
}
 
fragment MultilingualPressConnectionData {
  siteID
  entityID
}