WPML
סטטוס
פתוח
דווח עבור
WPML Multilingual CMS 4.6.0
תגיות נושא
Compatibility, Feature request

סקירה כללית של התקלה

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

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

הערה: החל מ־Advanced Custom Field Multilingual 2.0, זה כבר לא המצב עבור שדות ACF מכיוון שהוא מחשב מחדש את חתימת התוכן עבור כל הפוסטים ומאלץ ליצור מחדש עבודות תרגום חדשות.

פתרון עוקף

הקפד ליצור גיבוי מלא של האתר לפני שתמשיך.

הערה: זכור שאם אתה משתמש בתכונה תרגם הכל שלנו, שדות מותאמים אישית אלה יתורגמו אוטומטית.

  1. הוסף את קטע הקוד הבא לקובץ 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!');
      });
  2. בקר באתר שלך והוסף זאת ל־URL: /?wpml_sync (לדוגמה
    https://example.com/?wpml_sync)
  3. הסר את הקוד מהקובץ.

כל התקלות הידועות →