WPML
סטטוס
ממתין למפתח
תוסף/ערכת עיצוב קשורים
Ultimate Membership Pro
תגיות נושא
Compatibility

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

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

פתרון עוקף

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

1- מחק תרגומים שגויים

  • עבור אל WPML > תרגום מחרוזות
  • סנן לפי התרגום הושלם
  • חפש מחרוזות תחת שם השדה [ihc_user_fields]
  • בחר את כל המחרוזות האלה ומחק אותן – אלו מחרוזות ערך ואין לתרגם אותן.

2- שנה את תבנית הפילטר בחזית האתר

  • פתח את: wp-content/plugins/indeed-membership-pro/public/views/listing_users-filter.php
  • חפש: שורה 167 תחת המקרה ‘checkbox’
  • החלף:

<?php
foreach ($field['values'] as $v){
    if (is_array($get_value)){
        $checked = (in_array($v, $get_value)) ? 'checked' : '';
    } else {
        $checked = ($v==$get_value) ? 'checked' : '';
    }
    ?>
    <div class="iump-form-checkbox">
        <input type="checkbox" name="<?php echo esc_attr($field['name']);?>[]" value="<?php echo esc_attr(ihc_correct_text($v));?>" <?php echo esc_attr($checked);?> />
        <?php echo esc_html(ihc_correct_text($v));?>
    </div>
    <?php
}
?>

בטקסט:

<?php
foreach ($field['values'] as $v){
    if (is_array($get_value)){
        $checked = (in_array($v, $get_value)) ? 'checked' : '';
    } else {
        $checked = ($v==$get_value) ? 'checked' : '';
    }

    // WPML: Separate value and label
    $wpml_original_value = ihc_correct_text($v);
    $wpml_string_name = 'checkbox_option_' . $field['name']; 
    do_action( 'wpml_register_single_string', 'ihc', $wpml_string_name . '_' . sanitize_title($v), $wpml_original_value );
    $wpml_translated_label = apply_filters( 'wpml_translate_single_string', $wpml_original_value, 'ihc', $wpml_string_name . '_' . sanitize_title($v) );
?>
    <div class="iump-form-checkbox">
        <input type="checkbox" name="<?php echo esc_attr($field['name']);?>[]" value="<?php echo esc_attr(ihc_correct_text($v));?>" <?php echo esc_attr($checked);?> />
        <?php echo esc_html($wpml_translated_label); ?>
    </div>
<?php
}
?>

3- תקן את התוויות של תיבות הסימון בטופס הרישום

  • פתח את: wp-content/plugins/indeed-membership-pro/classes/IndeedForms.php
  • חפש: את הפונקציה checkbox (בסביבות שורה 129)
  • החלף:

$output .= ihc_correct_text( $v );
בטקסט:
$output .= __( ihc_correct_text( $v ), 'ihc' );</ul>

4- הפעל רישום מחרוזות

  • בקר בעמוד הספרייה בחזית האתר כדי לטעון מחרוזות חדשות.
  • עבור אל WPML > תרגום מחרוזות ותרגם רק את המחרוזות שנרשמו לאחרונה תחת הדומיין “ihc” (עם שמות כמו checkbox_option_name).

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