Обновление инф в профиле

Необходимо изменить обновление стандартного профиля WordPress.

Идея – в профиль добавлено дополнительное поле "Номер диплома". В базу добавлена таблица gg_persons со списком всех выпускников. Если пользователь вводит в поле "Номер диплома" какой-либо номер, и этот номер найден в этой таблице, то поля Имя и Фамилия подставляются автоматически, так же из этой таблицы.

<?php function pol_inf () {
global $wpdb;

//номер диплома
$n = $curauth->n_dip;

//если номер введен
if (!empty($n)) {
//выбираем строчку, в которой указан данный номер
$user = $wpdb->get_row("SELECT * FROM gg_persons WHERE docnumber = '$n'");

//если есть такая строка
  if ($user) {

//имя
    $name = $user->firsname;
//id пользователя
    $id_u = $curauth->id;
  
//обновляем wp_usermeta. обновляем имя
  $wpdb->update(
    $wpdb->prefix . 'usermeta',
    array('meta_value' => $name),
    array('user_id' => $id_u, 'meta_key' => 'first_name'
    ),
    array( '%s' ),
    array('%d', '%s')
);
 
  }}}

//надо привязать функцию к какому-то действию..
add_action('profile_update', 'pol_inf');

?>

Если просто прописать в author.php данный код, то при обновлении страницы, всё хорошо работает. Данные в wp_usermeta обновляются и подставляются в профиль. А вот привязать к кнопке Обновить информацию в профиле WordPress не получается. Может кто-нибудь подскажет, как это можно реализовать?

Anonymous
Отправить
Ответ на: