Как создать страницу для редактирования профиля пользователя

Так как вход в административную часть блога сопровождается потенциальными рисками для безопасности блога (забудешь что-нибудь закрыть для пользователй, и потом бед не оберешься), то многие администраторы вообще закрывают туда вход всем, кроме себя. Однако если регистрация в блоге все же необходима, то встает проблема с редактированием пользователями своих данных. Если для регистрации не нужно попадать внурь блога, то чтобы изменить свой профиль, пользователь как-то должен добраться до необходимых для этого полей. Дать возможность отредактировать свои данные, изменить пароль можно, воспользовавшись специальными плагинами (например, WP User Frontend), либо создав отдельную страницу.

Чтобы создать сделать страницу для редактирования пользователями своих данных профиля, нужно создать шаблон такой страницы. Для этого создайте в папке используемой темы файл user-profile.php, и вставьте в него следующий код:

$current_user->id, 'user_pass' => esc_attr( $_POST['pass1'] ) ) );
else
$error = __('The passwords you entered do not match.  Your password was not updated.', 'profile');
}
/* Update user information. */
if ( !empty( $_POST['url'] ) )
update_usermeta( $current_user->id, 'user_url', esc_url( $_POST['url'] ) );
if ( !empty( $_POST['email'] ) )
update_usermeta( $current_user->id, 'user_email', esc_attr( $_POST['email'] ) );
if ( !empty( $_POST['first-name'] ) )
update_usermeta( $current_user->id, 'first_name', esc_attr( $_POST['first-name'] ) );
if ( !empty( $_POST['last-name'] ) )
update_usermeta($current_user->id, 'last_name', esc_attr( $_POST['last-name'] ) );
if ( !empty( $_POST['description'] ) )
update_usermeta( $current_user->id, 'description', esc_attr( $_POST['description'] ) );
/* Redirect so the page will show updated info. */
if ( !$error ) {
wp_redirect( get_permalink() );
exit;
}
}
?>
<div id="post-">

<?php if ( $error ) echo '

' . $error . '

'; ?> <form method="post" id="adduser" action="">

<input class="text-input" name="first-name" type="text" id="first-name" value="id ); ?>" />

<input class="text-input" name="last-name" type="text" id="last-name" value="id ); ?>" />

<input class="text-input" name="url" type="text" id="url" value="id ); ?>" />

<input name="updateuser" type="submit" id="updateuser" class="submit button" value="" />

После этого зайдите в раздел страниц и создайте новую страницу. При создании страницы выберите шаблон User Profile. Все, страница редактирования профиля создана. Доступ к ней будут иметь только зарегистрированные пользователи.

Для того, чтобы страница редактирования профиля была похожа на все остальные страницы блога, для ее создания за основу можно взять шаблон обычной страницы page.php.