Плагин для локализации сайта?
Детекция языка по IP работает не полноценно, ибо IP больше определяет местоположение посетителя (страну), чем его языковые предпочтения.
Например, в Израиле живёт 20% русскоговорящего населения, а по IP вы им покажете сайт на иврите.
Детекция по IP пригодна для показа регионо-ориентированной рекламы (тоже косячит на VPN-ах).

Предпочитаемый язык(и) пользователя браузер передаёт в HTTP-заголовке Accept-Language, поскольку каждый выбирает в настройках локали браузера свой предпочитаемый язык. На Хабре на эту тему есть статья Грамотное определение языка пользователя с примером кода на PHP.
Остальное можно нагуглить.
поставь WPML там все предусмотрено. но если не хочешь то по ip отслеживай страну и переходи на нужную языковую версию