MultilingualPress
MultilingualPressMultilingualPress

MultilingualPress

Tích hợp với plugin MultilingualPress.

Schema GraphQL được cung cấp các trường để truy xuất dữ liệu đa ngôn ngữ.

Các kiểu Post, Page, PostTagPostCategory

Truy vấn ngôn ngữ của thực thể và các ID bản dịch của thực thể đó.

Các kiểu này triển khai interface MultilingualPressTranslatable.

TrườngMô tả
multilingualpressTranslationConnectionsCác kết nối dịch thuật cho thực thể trên tất cả các site trong mạng, hoặc null nếu không có kết nối nào được gán.

Trường multilingualpressTranslationConnections cung cấp kết quả thuộc kiểu MultilingualPressTranslationConnection, từ đó chúng ta có thể truy vấn ID site và ID thực thể cho kết nối. Trường này nhận đầu vào includeSelf để chỉ định có bao gồm kết nối của thực thể đang được truy vấn trong kết quả hay không (mặc định là false), cùng với các đầu vào includeSiteIDsexcludeSiteIDs để lọc các site được đưa vào kết quả.

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

Các kiểu GenericCustomPost, GenericTagGenericCategory

Các kiểu này triển khai interface MultilingualPressMaybeTranslatable.

GenericCustomPost là một kiểu dùng để đại diện cho bất kỳ custom post nào được cài đặt trên site, chẳng hạn như Portfolio, Event, Product hoặc các loại khác. Tương tự, GenericTagGenericCategory được dùng để đại diện cho các taxonomy của chúng.

Mỗi CPT và taxonomy này có thể được định nghĩa là có thể dịch trong phần cài đặt MultilingualPress. Trường multilingualpressTranslationConnections khi đó sẽ có cùng hành vi như đối với Post và các kiểu khác (được mô tả ở trên), và cũng trả về null nếu CPT hoặc taxonomy của thực thể không được cấu hình để dịch.

Ngoài ra, trường multilingualpressIsTranslatable cho biết liệu CPT hoặc taxonomy có được cấu hình là có thể dịch hay không.

TrườngMô tả
multilingualpressTranslationConnectionsCác kết nối dịch thuật cho thực thể trên tất cả các site trong mạng, hoặc null nếu không có kết nối nào được gán, hoặc nếu thực thể không được cấu hình để dịch (thông qua Cài đặt MultilingualPress).
multilingualpressIsTranslatableCho biết liệu thực thể có thể được dịch hay không.
{
  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
}