На странице профиля в админке при неправильном вводе в стандартные поля выводятся соответствующие ошибки. Я добавил одно поле в профиль для загрузки аватара, но мне хочется, чтобы при при выборе большого изображения выводились соответствующие ошибки. С помощью какого кода можно сообщить WP, что произошла ошибка и он бы вывел эти ошибки, а то выводит просто сообщение "Профиль обновлён"?
Прикрепляю свой код на всякий:
function my_show_extra_profile_fields( $user ) { ?>
<h3 style="margin-bottom:20px;">ваш аватар</h3>
<div id="avatar">
<img src="<?php if(esc_attr( get_the_author_meta( 'foto', $user->ID ) )!='')
echo get_bloginfo('home').'/wp-content/uploads/avatars/'.esc_attr(get_the_author_meta('foto', $user->ID ));
else
echo get_bloginfo('home').'/wp-content/themes/j2/images/avatar.jpg'; ?>" width="100" alt="Аватар" style="float:left;margin-right:15px;">
<input type="file" value="" name="foto" id="foto" /><br/>
<span>Новый аватар должен иметь<br> размер 100x100px и быть не <br> больше 50kb, иначе он не <br>загрузится.</span>
<br clear="all" />
<input type="submit" class="avatar-save" value="Обновить аватар" name="submit" />
</div>
<?php }
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
add_action('show_user_profile', 'my_show_extra_profile_fields');
add_action('edit_user_profile', 'my_show_extra_profile_fields');
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
$image = $_FILES['foto']['tmp_name'];
$image_info = GetImageSize($image);
if( !empty($image) and ($_FILES["foto"]["size"] < 50*1024) and ($image_info[0]<101) and ($image_info[1]<101))
{
move_uploaded_file($image, get_option('upload_path').'/avatars/'.md5($image));
update_usermeta($user_id, 'foto', md5($image) );
}else
{
}
}