- סטטוס
- ממתין למפתח
- תוסף/ערכת עיצוב קשורים
- WP User Manager
- תגיות נושא
- Compatibility
סקירה כללית של התקלה
בעת שימוש ב־WP User Manager להוספת שדות מותאמים אישית לפרופילים, ייתכן שתיתקל בבעיה הבאה: אפשרויות מתוך בחירה מרובה של שדות מותאמים אישית לא ניתנות לתרגום בתרגום מחרוזות של WPML.
פתרון עוקף
אנא, ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.
1. תיקון תוסף השילוב (WPUM-WPML)
- פתח את הקובץ …/wp-content/plugins/wpum-wpml/includes/class-wpum-wpml-fields.php.
- חפש את שורה 20.
- החלף את:
add_action( 'update_wpum_field_meta', array( $this, 'update_meta_strings' ), 10, 4 );
- ב:
add_action( 'updated_wpum_field_meta', array( $this, 'update_meta_strings' ), 10, 4 );
- לאחר מכן, עבור אל משתמשים > שדות מותאמים אישית, ערוך לפחות אחת מאפשרויות שדה הבחירה המרובה, ואז נווט אל WPML > תרגום מחרוזות כדי לתרגם את הערכים.
2. תיקון הפלט בצד הלקוח ב־WP User Manager
- פתח את הקובץ …/wp-content/plugins/wp-user-manager/includes/fields/types/class-wpum-field-multiselect.php.
- חפש את שורה .
- החלף את כל הפונקציה
get_formatted_output()ב:
public function get_formatted_output( $field, $value ) { $stored_field_options = $field->get_meta( 'dropdown_options' ); $stored_options = array(); $stored_index = array(); // Build lookup maps: value => label and value => original index foreach ( $stored_field_options as $key => $stored_option ) { $val = isset( $stored_option['value'] ) ? $stored_option['value'] : $key; $lbl = isset( $stored_option['label'] ) ? $stored_option['label'] : ''; $stored_options[ $val ] = $lbl; $stored_index[ $val ] = $key; } $values = array(); foreach ( $value as $user_stored_value ) { if ( ! isset( $stored_options[ $user_stored_value ] ) ) { continue; } $label = $stored_options[ $user_stored_value ]; // Determine original index for this option so we can match textdomain package $index = isset( $stored_index[ $user_stored_value ] ) ? $stored_index[ $user_stored_value ] : 0; // Translation via WPML. $translated_label = apply_filters( 'wpml_translate_single_string', $label, 'wpum-fields-wpum-field-' . $field->get_ID(), 'wpum-field-dropdown_options_' . $index ); $values[] = $translated_label; } return implode( ', ', $values ); }