MultilingualPress
MultilingualPressMultilingualPress

MultilingualPress

Integration with the MultilingualPress plugin.

The GraphQL schema is provided the fields to retrieve multilingual data.

Types Post, Page, PostTag and PostCategory

Query the language for the entity, and the IDs for the translations for that entity.

These types implement interface MultilingualPressTranslatable.

FieldDescription
multilingualpressTranslationConnectionsTranslation connections for the entity for all sites in the network, or null if no connection was assigned.

Field multilingualpressTranslationConnections provides results of type MultilingualPressTranslationConnection, from which we can query the site ID and entity ID for the connection. It accepts input includeSelf, to indicate if to include the queried entity's connection in the results (it's false by default), and inputs includeSiteIDs and excludeSiteIDs, to filter the included sites in the results.

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

Types GenericCustomPost, GenericTag and GenericCategory

These types implement interface MultilingualPressMaybeTranslatable.

GenericCustomPost is a type used to represent any custom post installed on the site, such as Portfolio, Event, Product, or other. Similarly, GenericTag and GenericCategory are used to represent their taxonomies.

Each of these CPTs and taxonomies can be defined to be translatable on the MultilingualPress settings. Field multilingualpressTranslationConnections will then have the same behavior as for Post and the others (described above), and also return null if the entity's CPT or taxonomy is not configured to be translated.

In addition, field multilingualpressIsTranslatable indicates if the CPT or taxonomy is configured to be translatable.

FieldDescription
multilingualpressTranslationConnectionsTranslation connections for the entity for all sites in the network, or null if no connection was assigned, or if the entity is not configured to be translated (via MultilingualPress Settings).
multilingualpressIsTranslatableIndicate if the entity can be translated.
{
  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
}