סקירת התקלה
אם אתה מתרגם את השדות המותאמים אישית המובנים של WordPress, ייתכן שתצטרך לשנות את העדפות התרגום שלך ככל שהפרויקט שלך מתפתח. עם זאת, תצטרך לעדכן את התוכן שלך כדי ששדות מותאמים אישית אלה יהיו זמינים לתרגום בעורך תרגום מתקדם.
למרות שזה צפוי, אנחנו מבינים לחלוטין שזה לא רצוי, במיוחד אם יש לך אתר גדול והתרגומים שלך נמצאים בשלב מתקדם.
הערה: החל מ־Advanced Custom Field Multilingual 2.0, זה כבר לא המצב עבור שדות ACF מכיוון שהוא מחשב מחדש את חתימת התוכן עבור כל הפוסטים ומאלץ ליצור מחדש עבודות תרגום חדשות.
פתרון עוקף
בעיה זו תוקנה. עדכון לגרסה העדכנית ביותר פותר זאת באתר שלך, לכן אתה זקוק לפתרון עוקף זה רק אם עדיין אינך יכול לעדכן.
הקפד ליצור גיבוי מלא של האתר לפני שתמשיך.
הערה: זכור שאם אתה משתמש בתכונה תרגם הכל שלנו, שדות מותאמים אישית אלה יתורגמו אוטומטית.
- הוסף את קטע הקוד הבא לקובץ functions.php וזכור לשנות את שני הערכים האלה לערכים שלך.
- שם סוג הפוסט: post
- שם שדה מותאם אישית: simple_field
add_action('wp', function(){ $config = [ 'post_type' => 'post', //Post type slug 'meta_key_name' => 'simple_field' //Custom field key ]; if (!isset($_GET['wpml_sync'])) { return; } set_time_limit(0); do_action('wpml_switch_language', apply_filters( 'wpml_default_language', null )); $all_posts = get_posts([ 'post_type' => $config['post_type'], 'posts_per_page' => -1, 'suppress_filters' => false ]); if (empty($all_posts)) { return; } foreach ($all_posts as $post) { do_action( 'wpml_sync_custom_field', $post->ID, $config['meta_key_name'] ); } wp_die('Done!'); });
- בקר באתר שלך והוסף זאת ל־URL: /?wpml_sync (לדוגמה
https://example.com/?wpml_sync) - הסר את הקוד מהקובץ.