WPML

Truy vấn nội dung theo ngôn ngữ từ front-end của bạn

Mọi truy vấn WPGraphQL đều có thêm một đối số language. Lọc bài viết, loại nội dung tùy chỉnh, thuật ngữ phân loại, menu, mục menu và bình luận theo ngôn ngữ trong một trường duy nhất – không cần lọc sau truy vấn trên front-end, không tăng gấp đôi khối lượng yêu cầu, không cần đoán ngôn ngữ.

query PostsES {
  posts(where: { language: "es" }) {
    nodes { slug uri title }
  }
}

Khi bạn lọc một node cấp cao nhất theo ngôn ngữ, các mục được kết nối (chuyên mục, thẻ, phân loại tùy chỉnh) sẽ tự động tuân theo cùng một ngôn ngữ. Kết quả nhất quán mà không cần thêm đối số cho mỗi trường lồng nhau.

Bạn muốn lấy mọi thứ bất kể ngôn ngữ cho sitemap hoặc tổng số lượng? Hãy truyền language: "all".

Tìm nạp mọi bản dịch của một node trong một truy vấn

Trường translations trên các bài viết và thuật ngữ phân loại trả về mọi phiên bản ngôn ngữ khác của một node: slug, URI, mã ngôn ngữ và bất kỳ trường lồng nhau nào bạn yêu cầu. Một truy vấn, một lượt khứ hồi, mọi phiên bản ngôn ngữ của một trang.

Đó là dữ liệu bạn cần cho một bộ chuyển đổi ngôn ngữ được hiển thị ngay bên cạnh nội dung trang, mà không khiến front-end phải theo dõi một chuỗi các truy vấn liên quan.

Menu, phân loại, bình luận đa ngôn ngữ và dữ liệu ngôn ngữ

Ngoài các bài viết, WPML GraphQL mở rộng cùng một đối số language và xử lý bản dịch cho:

  • Menu và mục menu. menu(language: "fr") để điều hướng theo từng ngôn ngữ. Được thêm vào trong WPML GraphQL 1.1.0.
  • Thuật ngữ phân loại. Các chuyên mục, thẻ và phân loại tùy chỉnh mặc định tuân theo ngôn ngữ của bài viết và có thể được truy vấn trực tiếp theo từng ngôn ngữ.
  • Bình luận. Trả về các bình luận được liên kết với bài viết bằng một ngôn ngữ cụ thể.
  • Truy vấn languagesdefaultLanguage. Liệt kê mọi ngôn ngữ đã cài đặt trên trang web cùng với mã, locale, tên bản địa, URL cờ quốc gia và URL trang chủ. Cấu trúc dữ liệu phù hợp cho một bộ chuyển đổi ngôn ngữ tùy chỉnh.

Truy vấn một bài viết cụ thể theo ID hoặc slug, bằng bất kỳ ngôn ngữ nào

Hai cấu trúc truy vấn giúp lấy một bài viết đã dịch duy nhất bằng mã định danh ngôn ngữ cụ thể của nó:

query PostBySlug {
  post(id: "hola-mundo", idType: SLUG) {
    title slug uri
  }
}
query PostById {
  post(id: "2", idType: DATABASE_ID) {
    title slug uri
  }
}

Cả hai hình thức đều trả về bài viết đã dịch cùng với tiêu đề, slug và URI đã dịch của nó – mà không cần logic “đây có phải là bản dịch không?” riêng biệt trên front-end.

Được duy trì theo phiên bản phát hành WPGraphQL hiện tại

WPML GraphQL 1.1.3 được kiểm tra khả năng tương thích lên đến WPGraphQL 2.0.0, lộ trình phiên bản phát hành chính mà dự án WPGraphQL đang theo đuổi. Nhóm duy trì WPGraphQL làm việc với chúng tôi để lớp đa ngôn ngữ luôn đồng bộ với schema. Khi WPGraphQL ra mắt một phiên bản phát hành mới, WPML GraphQL sẽ cập nhật ngay sau đó.

Hoạt động với ACF khi bạn thêm ACFML và WPGraphQL for ACF

Đối với các trang web xây dựng mô hình nội dung của họ bằng Advanced Custom Fields và hiển thị các trường đó thông qua WPGraphQL, WPML GraphQL kết hợp với ACFML và WPGraphQL for ACF để thêm một đối số language vào các truy vấn trang Tùy chọn ACF:

query Settings {
  myOptionPage(language: "de") {
    addressFieldGroup {
      addressTitle
      repeaterAddressDetails { addressDetails }
    }
  }
}

Các trường ACF trên bài viết và CPT tự động tuân theo ngôn ngữ của bài viết chứa chúng.

WPML GraphQL đi kèm với WPML

WPML GraphQL đi kèm với Multilingual CMS và WPML Agency. Không cần mua riêng, không có phí theo từng trang web. Mua WPML một lần và stack đa ngôn ngữ headless của bạn sẽ có sẵn lớp ngôn ngữ. Nếu bạn đã có WPML, hãy kích hoạt WPML GraphQL từ trang tải xuống WPML của bạn.