- 状态
- 未解决
- 主题标签
- 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 );
与往常一样,在进行任何此类更改之前,请务必确保拥有最新的备份。