WPML מאפשר לך להשתמש בכתובות URL ייחודיות עבור תוכן מותאם אישית שפות שונות. כולל תרגום של זיהוי הפוסט והשם של סוג הפוסט המותאם אישית.
כתובות URL עבור סוגי פוסטים מותאמים אישית כוללות את שם סוג הפוסט ואת שם הדף. בדרך כלל סוגי פוסטים מותאמים אישית בשפה אחרת ייראו כך:
- /houses/my-green-house/
- /casas/mi-casa-verde/
החלק הראשון המודגש של כתובת ה-URL, הוא סוג הפוסט. הסוג השני הוא שם הדף.
כדי לתרגם שמות דפים, לחץ על הלחצן ערוך שליד שדה הקישור הישיר בעורך הפוסטים. מכיוון ש-WPML משתמש בפוסט שונה עבור כל שפה, ניתן להגדיר את השמות שלהם באופן נפרד.
תרגום שמות של סוגי פוסטים מותאמים אישית
כדי לאפשר ל-WPML לתרגם שמות של סוגי פוסטים מותאמים אישית, תזדקק למודול 'תרגום המחרוזות'.
הגדרת סוגי פוסטים מותאמים אישית ב-PHP
אם אתה מבצע רישום ידני של סוגי פטסטים אלה דרך PHP, WPML יתפוס את הקריאות האלה וישרום את הזיהוי לתרגום.
הגדרה של סוגי פוסטים מותאמים אישית עם Types
כדי להגדיר סוגי פוסטם מותאמים אישית ללא PJP, ניתן להשתש בתוסף Types. Types יכריז בופן אוטומטי על סוגי פוסטים מותאמים אישית, כדי שתוכל לתרגם אותם ב-WPML.
עבור אל Types וערוך סוג פוסט מותאם אישית. אם לא מופעל בו תרגום שמות, תראה קישור למסך ההגדרה של WPML:
הפעלה של לוקליזציה עבור שמות סוגי פוסטים מותאמים אישית ב-WPML
עכשיו, עבור אל הדף WPML -> הגדרות. תראה את המקטע החדש ללוקליזציה של זיהויים.
רשימת הבדיקה להפעלת לוקליזציה לשמות של סוגי פוסטים מותאמים אישית:
1. הפוך את סוג הפוסט המותאם אישית לבר תרגום
2. הפעלת תרגום שמות עבור האתר
3. בחר כדי להשתמש בשמות שונים בשפות שונות
עכשיו אתה מוכן לתרגום שמות סו7גי פוסטים מותאמים אישית. הזן את התרגומים שלהם, לחץ על שמורוהם יופיעו בכתובות ה-URL.
תרגום ארכיונים של סוגי פוסטים מותאמים אישית
כשאתה רושם סוגי פוסטים מותאמים אישית באופן ידני, WordPress מאפשר בחירת זיהוי ארכיון ייחודי באמצעות:
has_archive
החל מגרסה 3.2, WPML מאפשר ל-has_archive
להיות מוגדר למחרוזת. אולם, אם ערך המחרוזת מוגדר למשהו שאינו rewrite['slug'],
אם שזיהוי שם ה-CPT לא מוגדר, זיהוי האריון לא יהיה בר תרגום.
קוד לדוגמה 1:
בדוגמת קוד זו, נגדיר את 'has_archive' => true
. בהנחה שהזיהוי book תורגם ל-libro בספרדית, קישורי הארכיונים יהיו:
- אנגלית (שפת ברירת מחדל): http://mydomain.tld/book/
- ספרדית (שפה שניה): http://mydomain.tld/es/libro/
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'book', array( 'labels' => array( 'name' => __( 'Books', 'textdomain' ), 'singular_name' => __( 'Book', 'textdomain' ) ), 'public' => true, 'has_archive' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array('slug' => 'book'), 'supports' => array('title','editor', 'custom-fields','thumbnail') ) ); }
קוד לדוגמה 2:
בדוגמת קוד זו, אנו נגדיר מחרוזת ספציפית עבור הפרמטר 'has_archive' => 'my-books'
. עכשיו קישורי הארכיונים הם:
- אנגלית (שפת ברירת מחדל): http://mydomain.tld/my-books/
- ספרדית (שפה שניה): http://mydomain.tld/es/my-books/
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'book', array( 'labels' => array( 'name' => __( 'Books', 'textdomain' ), 'singular_name' => __( 'Book', 'textdomain' ) ), 'public' => true, 'has_archive' => 'my-books', // Do not use the gettext functions for this parameter 'publicly_queryable' => true, 'exclude_from_search' => false, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array('slug' => 'book'), 'supports' => array('title','editor', 'custom-fields','thumbnail') ) ); }