WPML

מוצרים של WooCommerce הם "פוסטים" מותאמים אישית של WordPress עם שדות מותאמים אישית. הם מאורגנים באמצעות הטקסונומיות המותאמות אישית "קטגוריות מוצרים" ו"תגיות מוצרים". כאן נראה לך כיצד אתרי WooCommerce רב-לשוניים פועלים ומה ערכות העיצוב שלך ל־WooCommerce צריכות כדי להיות מוכנות לאתרים רב-לשוניים.

כיצד פועלים אתרי WooCommerce רב-לשוניים

כאשר אתר משתמש ב־WPML, מוקצית שפה לכל רכיב תוכן. המשמעות היא שלכל מוצר, קטגוריה ותגית תהיה תכונת שפה. התרגומים נשמרים במסד הנתונים כמוצרים נפרדים, המקושרים זה לזה באמצעות טבלת השפות של WPML. המוצרים המתורגמים משתפים את אותן תמונות ויש להם שדות נפרדים משלהם עם טקסטים בשפה הנכונה.

דוגמה לתרגומים המוקצים לרכיבי תוכן שונים

מנהלי האתר יכולים לתרגם בנוחות באמצעות טבלת תרגום המוצרים של WPML. בדרך זו, הם יכולים להתמקד בתרגום הטקסטים הנדרשים, מבלי לדאוג לגבי האופן שבו התרגומים נשמרים במסד הנתונים.

מכיוון שהתרגומים מופרדים במסד הנתונים, קל גם להציג אתרי WooCommerce רב-לשוניים. למעשה, אם אתה משתמש ב־API של WordPress ושל WooCommerce, ייתכן שערכת העיצוב שלך כבר מוכנה לאתר רב-לשוני. עם מעט בדיקות ואולי עריכות קטנות, תוכל להשיג תאימות רב-לשונית מלאה וליהנות משווקים חדשים.

תוספים נדרשים עבור אתרי WooCommerce רב-לשוניים

כדי להפעיל אתרי WooCommerce רב-לשוניים, נדרשים התוספים הבאים:

WPML וכל התוספים הקשורים, כולל WPML Multilingual & Multicurrency for WooCommerce, כלולים בסוג החשבון Multilingual CMS.

טקסטים המקודדים קשיח בתבניות

קובצי התבנית שלך מציגים שילוב של מידע על המוצר וטקסטים המקודדים קשיח. לדוגמה, רוב התבניות יכללו את שם המוצר וקישור "Buy". שם המוצר מגיע ממסד הנתונים, כך שאינכם צריכים לדאוג לגבי התרגום שלו.

עליך לוודא שכל הטקסטים המקודדים קשיח ניתנים לתרגום, באמצעות GetText.

טוב

<p><?php _e('Similar products:', 'my-textdomain') ?></p><input type="button" name="buy-button" value="<?php esc_attr_e('Buy now!', 'my-textdomain') ?>" />

בדוגמה למטה, המחרוזות "Similar products" וכן "Buy now!" אינן עטופות בקריאות GetText.

רע

<p><?php echo 'Similar products:'; ?></p>

<input type="button" name="buy-button" value="Buy now!" />

טוב

<p><?php _e('Similar products:', 'my-textdomain') ?></p><input type="button" name="buy-button" value="<?php esc_attr_e('Buy now!', 'my-textdomain') ?>" />

רע

<p><?php echo 'Similar products:'; ?></p><input type="button" name="buy-button" value="Buy now!" />

המחרוזות "Similar products" וכן "Buy now!" אינן עטופות בקריאות GetText.

טוברע
<p><?php _e('Similar products:', 'my-textdomain') ?></p><input type="button" name="buy-button" value="<?php esc_attr_e('Buy now!', 'my-textdomain') ?>" /><p><?php echo 'Similar products:'; ?></p><input type="button" name="buy-button" value="Buy now!" />המחרוזות "Similar products" וכן "Buy now!" אינן עטופות בקריאות GetText.

ודא שאתה משתמש ב־textdomain של ערכת העיצוב שלך עבור כל קריאות GetText.

עמודי WooCommerce מקודדים קשיח

ערכות עיצוב רבות למסחר אלקטרוני כוללות עמודים מיוחדים, כמו עמודי עגלת קניות או חשבון. ערכת העיצוב כוללת לעתים קרובות קישורים לעמודים אלה, המופיעים בכל עמוד באתר.

אם אתה משתמש בתפריט WordPress עבור קישורים אלה, הכל אמור להיות מוכן. WPML מציג תפריט WordPress שונה עבור כל שפה, כך שהקישורים ל'עמודים המיוחדים' האלה יהיו שונים, עבור כל שפה. עם זאת, אם אתה מקודד קשיח את הקישורים האלה בקובצי התבנית, עליך לאפשר ל־WPML להחליף את הקישורים, בקישורים לעמודים אלה בשפה הנכונה.

הדרך הנכונה לקשר לעמודים המיוחדים של WooCommerce היא באמצעות פונקציות ה־API של WordPress ומזהי העמודים של WooCommerce. התוסף WPML Multilingual & Multicurrency for WooCommerce מסנן קריאות אל get_option() עם מזהי העמודים של WooCommerce. הוא יחזיר את מזהה העמוד בשפה הנוכחית.

טוב

<a href="<?php echo get_permalink(get_option('woocommerce_shop_page_id')) ?>"><?php _e('Shop page', 'my-textdomain') ?></a>
<a href="<?php echo get_permalink(wc_get_page_id('shop')) ?>"><?php _e('Shop page', 'my-textdomain') ?></a>

"shop" הוא מזהה הכתובת (slug) של העמוד בשפת ברירת המחדל.

רע

<a href="<?php echo get_permalink(5) ?>"><?php _e('Shop page', 'my-textdomain') ?></a>

מזהה העמוד "shop page" מקודד קשיח. הוא יהיה שונה עבור אתרים שונים ועבור שפות שונות.

<a href="/shop"><?php _e('Shop page', 'my-textdomain') ?></a>

כתובת ה־URL של "shop page" מקודדת קשיח. היא תהיה שונה עבור שפות שונות.

טוברע
<a href="<?php echo get_permalink(get_option('woocommerce_shop_page_id')) ?>"><?php _e('Shop page', 'my-textdomain') ?></a>

<a href="<?php echo get_permalink(wc_get_page_id('shop')) ?>"><?php _e('Shop page', 'my-textdomain') ?></a>
"shop" הוא מזהה הכתובת (slug) של העמוד בשפת ברירת המחדל.
<a href="<?php echo get_permalink(5) ?>"><?php _e('Shop page', 'my-textdomain') ?></a>
מזהה העמוד "shop page" מקודד קשיח. הוא יהיה שונה עבור אתרים שונים ועבור שפות שונות.<a href="/shop"><?php _e('Shop page', 'my-textdomain') ?></a>כתובת ה־URL של "shop page" מקודדת קשיח. היא תהיה שונה עבור שפות שונות.

רשימות מוצרים מוכנות לאתר רב-לשוני

אם אתה משתמש בשורטקודים של WooCommerce כדי להציג את רשימת המוצרים, הכל מוכן. WooCommerce יטען את המוצרים בשפה הנכונה ויציג אותם.

אם אתה מעדיף לטעון מוצרים באופן ידני, באמצעות קוד משלך, ודא שאתה משתמש ב־API של WordPress, או בקריאות API של WooCommerce. אם תיגש למסד הנתונים ישירות, WPML לא יסנן את הקריאה שלך ותקבל תערובת של כל המוצרים בכל השפות.

טוב

<?php $products = get_posts(array('post_type' => 'product', 'suppress_filters' => 0)); ?><?php
$args = array(
'post_type' => 'product',
'posts_per_page' => 10,
);
$products = new WP_Query( $args );
?>

רע

<?php $products = get_posts(array('post_type' => 'product')); ?>

הפרמטר suppress_filters יוגדר ל־true כברירת מחדל, מה שימנע סינון שפות.

$products = $wpdb->get_results($wpdb->prepare(“SELECT * FROM {$wpdb->posts} WHERE post_type='product' ORDER BY ID DESC LIMIT %d", 10));

WPML אינו מסנן שאילתות SQL ברמה נמוכה. כל המוצרים בכל השפות יוחזרו.

טוברע
<?php $products = get_posts(array('post_type' => 'product', 'suppress_filters' => 0)); ?><?php
$args = array(
'post_type' => 'product',
'posts_per_page' => 10,
);
$products = new WP_Query( $args );
?>
<?php $products = get_posts(array('post_type' => 'product')); ?>
הפרמטר suppress_filters יוגדר ל־true כברירת מחדל, מה שימנע סינון שפות.$products = $wpdb->get_results($wpdb->prepare(“SELECT * FROM {$wpdb->posts} WHERE post_type='product' ORDER BY ID DESC LIMIT %d", 10));
WPML אינו מסנן שאילתות SQL ברמה נמוכה. כל המוצרים בכל השפות יוחזרו.

לאחר שטענת את המוצרים הנכונים, אינכם צריכים לדאוג לגבי שפות בעת הצגתם. כל מוצר יגיע עם שדות מותאמים אישית משלו, עם מידע בשפה הנכונה.

תבניות מוצרים מוכנות לאתר רב-לשוני

מכיוון שהתרגומים מאוחסנים במוצרים נפרדים, הצגת מוצר בודד באתר WooCommerce רב-לשוני לא אמורה לדרוש מאמץ מיוחד.

אפשרויות תשלום בריבוי מטבעות

אתר ה־WooCommerce הרב-לשוני שלך עשוי לכלול גם מספר מטבעות. עבור אתרים רבים שאינם אמריקאיים, תמיכה במספר מטבעות היא תכונה חשובה מאוד. לדוגמה, אתרים אירופאים רבים יצטרכו לחייב באירו, בלירה שטרלינג ובדולר ארה"ב. אתרים במזרח אירופה דורשים לעתים קרובות רובל רוסי, בעוד שאתרים באסיה זקוקים למגוון מטבעות שונים אחרים.

תמיכה בריבוי מטבעות כלולה בתוסף WPML Multilingual & Multicurrency for WooCommerce. כדי לאפשר למבקרים לעבור בין מטבעות, ערכת העיצוב שלך צריכה לכלול בורר מטבעות אופציונלי.

באפשרותך להציג בורר מטבעות על ידי שימוש בקריאת PHP או על ידי הוספת שורטקוד.

<?php do_action('currency_switcher', array('format' => '%name (%symbol)')); ?>
[currency_switcher]

למידע נוסף, עיין במדריך בנושא ריבוי מטבעות עבור WooCommerce. שים לב שתראה את בורר המטבעות בצד הלקוח רק אם האתר משתמש במספר מטבעות.

הפיכת אתר ה־WooCommerce שלך לתואם RTL

ערכות עיצוב של WooCommerce צריכות לפעול לפי אותן הנחיות תמיכה בערכות עיצוב RTL כמו כל ערכת עיצוב אחרת של WordPress. עליך ליצור קובץ rtl.css, עם כללי ה־CSS עבור תצוגת RTL.

טיפול באורכי טקסט שונים בשפות שונות באמצעות עיצוב גמיש (Fluid Design)

כאשר אתה יוצר את ערכת העיצוב שלך ל־WooCommerce המוכנה לאתר רב-לשוני, זכור שטקסטים מסוימים יהיו ארוכים יותר בשפות מסוימות וקצרים יותר באחרות. לפעמים, אפילו לא תוכל לבדוק זאת, מכיוון שמשתמשי הקצה שלך הם אלה שיתרגמו.

לדוגמה, הבט בשני בלוקי המוצרים האלה.

CSS המותאם לטקסט קצר באנגלית

טקסטים ארוכים יותר בספרדית אינם מתאימים למקום

ככלל אצבע, בדוק את ערכת העיצוב שלך עם טקסטים ארוכים פי 2 וקצרים בחצי. זה יכסה אותך ברוב המקרים. הדרך הטובה ביותר לטפל בטקסטים בגדלים שונים היא על ידי מתן אפשרות לפריסות גמישות. פריסות גמישות יאפשרו לרכיבים לשנות את גודלם ולתפוס את האזור הדרוש להם. יצירת תבנית אלגנטית עם גדלים גמישים אינה עניין של מה בכך, אך פעולה זו עוזרת למנוע תקלות חזותיות

הטקסט גולש יפה משורה לשורה ללא תקלות תצוגה

מוכן להתחיל?

אם אתה מפתח, הבונה ערכות עיצוב או הרחבות ל־WooCommerce, כדאי לך מאוד להצטרף לתוכנית Go Global שלנו. תקבל חשבון מפתח של WPML ללא עלות ותזכה לתמיכה בעדיפות מצוות התאימות שלנו. חנות ה־WooCommerce היא רק חלק אחד (גדול) בערכת העיצוב שלך. כדאי לך מאוד לקרוא את המדריך שלנו בנושא השגת תאימות ל־WPML עבור ערכות העיצוב שלך.

בונה אתרים עבור לקוחות? קנה את WPML והתחל לעבוד עם אתרים רב-לשוניים עבור WooCommerce ומעבר לכך.

נכתב על ידי Amir · עודכן לאחרונה: 16 באוקטובר 2024