@S1MY

Как синхронизировать данные двух таблиц wp_users и wp_2_users?

Нужно, чтобы регистрация шла в две таблицы wp_users и wp_2_users.
То есть, если зарегистрировали на одном сайте, то он смог зайти и на другом.
Таблицы в одной базе данных, нужно только написать mysqli запрос, при отлове регистрации, но я не могу догнать что там написать...
И как записать wp_usermeta в wp_2_usermeta?
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
@S1MY Автор вопроса
Сделал таким методом, добавляю в данные при регистрации нового пользователя в другую таблицу, не забываю о юзермете и всё работает как нужно.
add_action( 'user_register', 'crf_user_register' );
function crf_user_register( $user_id ) {
	if ( ! empty( $_POST['user_expiration_date'] ) ) {
		$hours = $_POST['user_expiration_date'];
		$date = date('Y-m-d H:i:s', strtotime("+".$hours." hours"));
		update_user_meta( $user_id, 'user_expiration_date', $date );
		$connect = mysqli_connect('localhost', 'пользователь', 'пароль', 'база данных');
		$usersinsert = mysqli_query($connect, "INSERT INTO wp_1_users SELECT * FROM wp_users WHERE ID = $user_id" ); // данные из wp_user в wp_1_users
		$usersmetainsert = mysqli_query($connect, "INSERT INTO wp_1_usermeta SELECT * FROM wp_usermeta WHERE user_id = $user_id" );  // данные из wp_usermeta в wp_1_usermeta 
		$usersmetaupdate = mysqli_query($connect, "UPDATE wp_1_usermeta SET meta_key = 'wp_1_capabilities' WHERE meta_key = 'wp_capabilities'" ); // Чтобы обновлялась роль пользователя
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
SagePtr
@SagePtr
Еда - это святое
Самый простой из костылей, одну из таблиц сделать вьюхой вида:
SELECT * FROM имядругойбд.имядругойтаблицы;
В результате эта вьюха окажется обновляемой, и в неё можно будет точно также вставлять и читать из неё, как из базовой таблицы (все изменения - попадут в оригинальную), но движок вордпресс вероятнее всего даже не заметит, что это не полноценная таблица, а её отображение.
Это при условии, что они хранятся на одном и том же сервере, разумеется.
Ответ написан
Комментировать
@galaxy
Без привязки к вордпресс - гуглите mysql trigger
Ответ написан
Комментировать
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Готов поставить ящик пива, что ваша задача решается немного другим путем. Смотрите мой ответ в другом вашем вопросе: Как сделать регистрацию на wordpress в две таблицы?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы