- סטטוס
- פתוח
- תגיות נושא
- Bug
סקירה כללית של התקלה
בכרטיסיית מתרגמים בעמוד ב־WPML > ניהול תרגום יש אפשרות להוסיף מנהל תרגום שפותחת תיבת חיפוש. בתרחישים מסוימים, חיפוש משתמשים חוקיים אינו מחזיר משתמשים שניתן לבחור.
הדבר קורה כאשר ישנם מספר תפקידים בעלי ההרשאה המינימלית הנדרשת, כפי שקורה באתר WooCommerce, לדוגמה, שבו גם לתפקיד מנהל חנות וגם לתפקיד הליבה עורך יש את ההרשאה הנדרשת.
פתרון עוקף
אין פתרון עוקף פשוט שאינו כרוך בעריכת קובץ של תוסף WPML.
באפשרותך לערוך את הקובץ plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.
אתר את השורה הזו (בסביבות שורה 144):
$preparedUserQuery .= $this->wpdb->prepare( " AND c.meta_value LIKE %s", "%{$required_wp_role}%" );
ושנה את ה־AND ל־OR כך:
$preparedUserQuery .= $this->wpdb->prepare( " OR c.meta_value LIKE %s", "%{$required_wp_role}%" );
לאחר מכן אתר את השורה הזו (בסביבות שורה 168):
$users = $this->wpdb->get_col( $preparedUserQuery );
ולאחר מכן הוסף שורה שנייה מיד אחריה, כך:
$users = $this->wpdb->get_col( $preparedUserQuery ); $users = array_unique( $users );
כמו תמיד בעת ביצוע שינויים מסוג זה, ודא שיש לך גיבוי עדכני לפני שתמשיך.