בעמוד זה
מה ניתן לעשות עם WPML GraphQL?
שאילתת פוסטים ספציפיים בשפות שונות
Home » תיעוד WPML » פרויקטים קשורים »
בעמוד זה
מה ניתן לעשות עם WPML GraphQL?
שאילתת פוסטים ספציפיים בשפות שונות
כדי להתחיל, התקן והפעל את התוספים הבאים:
כדי לכלול שדות רב-לשוניים מתוסף ACF בסכימת WPGraphQL, התקן גם:
WPML GraphQL משתלב עם WPGraphQL כדי לאפשר לך לבצע שאילתות על תוכן רב-לשוני שנוצר עם WPML.
מתוך GraphQL ← GraphQL IDE , אתה יכול להשתמש ב- Query Composer כדי:
לדוגמה, כפי שמוצג בתמונה למטה, תוכל בקלות לאחזר רשימה של כל הפוסטים באתר שלך, כולל קודי השפה, ה-slugs, ה-URIs והפרטים של התרגומים שלהם.
להלן, נשתמש באתר בדיקה רב-לשוני כדי להראות לך כיצד להשתמש ב-WPML GraphQL לשאילתת תוכן והתרגומים שלו.
עם WPML GraphQL, תוכל להשתמש בשדות language ו-translation בשאילתות שלך:
language מאפשר לך לאחזר פרטים כמו קוד השפה, כתובת URL של דגל המדינה, שם מקורי, שם מתורגם וכתובת URL של דף הבית עבור סוגי פוסטים, טקסונומיות, תפריטים, פריטי תפריט ותגובות.languageCode מקבל את קוד השפה עבור פוסטים, מונחי טקסונומיה, תפריטים, פריטי תפריט ותגובות ללא פרטי שפה נוספים.translations מאחזר תרגומים עבור סוגי פוסטים ומונחי טקסונומיה.כאשר אתה שואל תגובות, השדות language ו-languageCode תואמים את השפה של הפוסט שאליו הן שייכות.
הנה דוגמה לשאילתה שמאחזרת פוסטים יחד עם הפרטים המשויכים שלהם, כולל ה-slug של הפוסט, ה-URI, קוד השפה, הקטגוריות וכל תרגום קיים:
query Posts{
posts(where: {language: "en"}) {
nodes {
slug
uri
language {
code
}
categories {
nodes {
name
}
}
translations {
slug
uri
language {
code
}
categories {
nodes {
name
}
}
}
}
}
}
הרצת שאילתה זו מחזירה מידע שפה ותרגום עבור כל פוסט, יחד עם פריטים מקושרים כמו קטגוריות. הקישורים עוקבים אוטומטית אחר השפה של הפריט ברמה העליונה (פוסטים במקרה זה):
{
"data": {
"posts": {
"nodes": [
{
"slug": "bye-world",
"uri": "/2023/05/18/bye-world/",
"language": {
"code": "en"
},
"categories": {
"nodes": [
{
"name": "End of the day"
},
{
"name": "Greetings"
}
]
},
"translations": [
{
"slug": "adios-mundo",
"uri": "/es/2023/05/18/adios-mundo/",
"language": {
"code": "es"
},
"categories": {
"nodes": [
{
"name": "Fin del día"
},
{
"name": "Saludos"
}
]
}
},
{
"slug": "tchau-mundo",
"uri": "/pt-pt/2023/05/18/tchau-mundo/",
"language": {
"code": "pt-pt"
},
"categories": {
"nodes": [
{
"name": "Fim do dia"
},
{
"name": "Saudações"
}
]
}
}
]
},
{
"slug": "hello-world",
"uri": "/2018/07/05/hello-world/",
"language": {
"code": "en"
},
"categories": {
"nodes": [
{
"name": "Greetings"
},
{
"name": "Start of the day"
}
]
},
"translations": [
{
"slug": "hola-mundo",
"uri": "/es/2018/07/05/hola-mundo/",
"language": {
"code": "es"
},
"categories": {
"nodes": [
{
"name": "Inicio del día"
},
{
"name": "Saludos"
}
]
}
},
{
"slug": "ola-mundo",
"uri": "/pt-pt/2018/07/05/ola-mundo/",
"language": {
"code": "pt-pt"
},
"categories": {
"nodes": [
{
"name": "Começo do dia"
},
{
"name": "Saudações"
}
]
}
}
]
}
]
}
}
}
WPML GraphQL מאפשר לך להשתמש במסנן language כדי:
WPML GraphQL תומך בקישורים, כך שכאשר אתה מסנן פריט ברמה עליונה כמו פוסט לפי שפה, כל הפריטים הקשורים, כגון קטגוריות ותגיות, יעקבו אוטומטית אחר אותה שפה. זה הופך את השאילתות שלך לעקביות ומדויקות.
הנה דוגמה לשאילתה שמאחזרת פוסטים בספרדית, כולל ה-slugs, ה-URIs והקטגוריות המקושרות שלהם:
query PostsES{
posts(where: {language: "es"}) {
nodes {
slug
uri
categories {
nodes {
name
}
}
}
}
}
הנה מה שהשאילתה מחזירה:
{
"data": {
"posts": {
"nodes": [
{
"slug": "adios-mundo",
"uri": "/es/2023/05/18/adios-mundo/",
"categories": {
"nodes": [
{
"name": "Fin del día"
},
{
"name": "Saludos"
}
]
}
},
{
"slug": "hola-mundo",
"uri": "/es/2018/07/05/hola-mundo/",
"categories": {
"nodes": [
{
"name": "Inicio del día"
},
{
"name": "Saludos"
}
]
}
}
]
}
}
}
עם WPMLGraphQL, תוכל גם לבצע שאילתה על פוסטים בודדים בכל שפה לפי מזהה הפוסט או ה-slug שלהם.
לדוגמה, אם יש לך פוסט בשם ¡Hola mundo! (התרגום הספרדי של Hello world!), עם slug של hola-mundo ומזהה פוסט של 2, תוכל להשתמש בשאילתות הבאות כדי לאחזר את הפוסט:
query PostBySlug {
post(id: "hola-mundo", idType: SLUG) {
title
slug
uri
}
}
query PostById {
post(id: "2", idType: DATABASE_ID) {
title
slug
uri
}
}
שתי השאילתות יחזירו נכון את נתוני הפוסט, כולל הכותרת, ה-slug וה-URI, עבור הפוסט ¡Hola mundo!:
{
"data": {
"post": {
"title": "¡Hola mundo!",
"slug": "hola-mundo",
"uri": "/es/2018/07/05/hola-mundo/"
}
}
}
WPML GraphQL מספק שתי שאילתות לגישה לנתונים על השפות המותקנות באתר שלך:
שאילתות אלה יכולות להיות שימושיות אם אתה מעוניין לבנות תכונות כמו מחליף שפות.
לדוגמה, כדי לקבל נתונים עבור כל השפות המותקנות, תוכל להריץ את השאילתה הבאה:
query Languages {
languages {
code
country_flag_url
default_locale
native_name
translated_name
url
}
}
השאילתה למעלה מניבה את התוצאה הבאה:
{
"data": {
"languages": [
{
"code": "en",
"country_flag_url": "http://site.com/wp-content/plugins/sitepress-multilingual-cms-release/res/flags/en.svg",
"default_locale": "en_US",
"native_name": "English",
"translated_name": "English",
"url": "http://site.com"
},
{
"code": "es",
"country_flag_url": "http://site.com/wp-content/plugins/sitepress-multilingual-cms-release/res/flags/es.svg",
"default_locale": "es_ES",
"native_name": "Español",
"translated_name": "Spanish",
"url": "http://site.com/es/"
},
{
"code": "it",
"country_flag_url": "http://site.com/wp-content/plugins/sitepress-multilingual-cms-release/res/flags/it.svg",
"default_locale": "it_IT",
"native_name": "Italiano",
"translated_name": "Italian",
"url": "http://site.com/it/"
}
]
}
}
אם אתה משתמש ב-WPGraphQL עם תוסף ACF, התוספים WPML GraphQL ו-ACFML (ACF Multilingual) מרחיבים פונקציונליות זו. זה מאפשר לך לבצע שאילתות על נתוני שדות מותאמים אישית בשפות שונות.
WPGraphQL עם הרחבת ACF שלו חושף את דפי האפשרויות של ACF כאובייקטים שורש. יחד, התוספים WPML GraphQL ו-ACFML מוסיפים פרמטר שפה לשאילתות דף האפשרויות, המצפה לקוד שפה התואם לאחת מהשפות הפעילות באתר שלך (לדוגמה "de", "pt-pt"). זה מאפשר לך לבצע שאילתה על הנתונים בשפה ספציפית:
query NewQuery {
myOptionPage(language: "de") {
addressFieldGroup {
addressTitle
repeaterAddressDetails {
addressDetails
}
}
}
}
כדי להשתמש ב-WPML GraphQL, אתה זקוק לתוכנית WPML Multilingual CMS או WPML Multilingual Agency. שתי התוכניות מספקות גישה לתוסף WPML ומגוון רחב של תוספים נוספים, כולם כלולים ללא עלות נוספת.
ראה איזו תוכנית הכי מתאימה לאתר שלך.
אם אתה נתקל בבעיות בשימוש ב-WPML GraphQL, בקר בדף בעיות ידועות ופתרונות שלנו לקבלת טיפים לפתרון בעיות.
עדיין צריך עזרה? שלח כרטיס תמיכה .