סקירת התקלה
בעת שימוש בתכונת השכפול של WPML עם תבניות Bricks, תיתקל בכך ששינויים בשפת ברירת המחדל אינם משתקפים בשפות אחרות כאשר התוסף WPML Media Translation פעיל.
פתרון עוקף
בעיה זו תוקנה ב־WPML Multilingual CMS 5.0.0. עדכון פותר זאת באתר שלך, לכן אתה זקוק לפתרון העוקף הזה רק אם עדיין אינך יכול לעדכן.
עדכן ל־WPML 5.0 או לגרסה חדשה יותר. תבניות Bricks משוכפלות עוקבות כעת אחר השינויים שאתה מבצע בשפת ברירת המחדל, גם כאשר WPML Media Translation פעיל.
אם אינך יכול לעדכן עדיין:
ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.חלק I
- פתח את הקובץ …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-custom-field-images-translation.php.
- חפש את שורה 56.
- מיד לאחר:
$setting = $settings_factory->post_meta_setting( $meta_key );
- הוסף:
// Workaround part 1 $bricks_meta_keys = array( '_bricks_template_type', '_bricks_page_content_2', '_bricks_editor_mode', '_bricks_template_settings', ); if ( strpos( $meta_key, 'bricks' ) !== false ) { return; }
חלק II
- פתח את הקובץ …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-set-posts-media-flag.php.
- חפש את שורה 128.
- מיד לאחר:
$post_with_media_files = $this->post_with_media_files_factory->create( $post_id );
- סמן כהערה את החלק הבא:
// Workaround part 2 /*if ( $post_with_media_files->get_media_ids() ) { // it seems that this line is causing this issue update_post_meta( $post_id, self::HAS_MEDIA_POST_FLAG, 1 ); } else { delete_post_meta( $post_id, self::HAS_MEDIA_POST_FLAG ); }*/