Мне нужно импортировать более 1000 пользователей из joomla в wordpress. Я могу сделать это с помощью csv. Меня больше всего волнуют пароли. Я немного погуглил и узнал, что можно изменить форматы паролей WordPress.
Может ли кто-нибудь показать мне несколько примеров кода, как это сделать?
Не могли бы вы уточнить, что вы подразумеваете под форматом пароля ? Как хешируются пароли для хранения в базе данных?
Прежде всего вам нужно выяснить, какой алгоритм хеширования использовался на сайте Joomla для хранения паролей. Joomla — в отличие от Worpdress — поставляется с различными алгоритмами хеширования.
Если вы узнали, как были сгенерированы хэши, вы можете перенести функцию хеширования в WordPress и использовать подключаемую функцию, вызываемую
wp_check_password()
для проверки хэша пароля.Подключаемая функция означает, что вы можете определить функцию с тем же именем внутри вашего собственного плагина, чтобы перезаписать стандартную функциональность.
А теперь простой трюк:
Вы сравниваете как с хэшем Joomla, так и с хешем WordPress (PHPASS). Кроме того, вы также можете позаботиться о MD5 (старый алгоритм хеширования WordPress).
Если пользователь входит в систему с паролем в старом формате хэша, вы обновляете хэш пользователя в базе данных стандартным хэшем WordPress (PHPASS). Таким образом, каждый пользователь, который войдет в систему, будет автоматически преобразован.
Текущая
wp_check_password()
функция кстати. уже делает нечто подобное.Итак, что вам нужно, это
Есть несколько плагинов для массового сброса паролей. Я думаю, это какое-то решение.
Вот ссылка на справочник подключаемых функций в Кодексе. Вы найдете все виды функций, таких как, например. wp_salt, wp_hash и т. д. Возможно, вы ищете комбинацию
wp_check_password
&wp_generate_password