document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. function edit_user_profile_avatar($user_id) {
  2.     if ( !current_user_can( \'edit_user\', $user_id ) )
  3.         return false;
  4.  
  5.     // Обновляем аватар
  6.     if(!empty($_FILES[\'avatar\'])) {
  7.         $file = $_FILES[\'avatar\'];
  8.         $ext = substr(strrchr(basename($file[\'name\']),\'.\'), 1); // расширение файла
  9.         $filename = $user_id.\'.\'.$ext; // название файла
  10.  
  11.         $wp_upload_dir = wp_upload_dir();
  12.         $url_file = $wp_upload_dir[\'baseurl\'].\'/avatars/\'.$filename;
  13.         $basedir = $wp_upload_dir[\'basedir\'].\'/avatars/\';
  14.         $upload_file = $basedir.$filename;
  15.  
  16.         /* создаем папку с аватарами, если её не существует */
  17.         if (!is_dir($basedir)) {
  18.             mkdir($basedir, 0755, true);
  19.         }
  20.  
  21.         /* удаляем старый аватар, если он существует */
  22.         $avatar = get_the_author_meta(\'avatar\', $user_id);
  23.         if(!empty($avatar)) {
  24.             unlink($basedir.basename($avatar));
  25.         }
  26.  
  27.         /* загружаем новый аватар и обновляем информацию */
  28.         if (move_uploaded_file($file[\'tmp_name\'], $upload_file)) {
  29.             update_user_meta($user_id, \'avatar\', $url_file);
  30.         }
  31.     }
  32.  
  33.     // Удаляем аватар
  34.     if(!empty($_POST[\'del_avatar\'])) {
  35.         $wp_upload_dir = wp_upload_dir();
  36.         $basedir = $wp_upload_dir[\'basedir\'].\'/avatars/\';
  37.  
  38.         /* удаляем старый аватар, если он существует */
  39.         $avatar = get_the_author_meta(\'avatar\', $user_id);
  40.         if(!empty($avatar)) {
  41.             unlink($basedir.basename($avatar));
  42.             update_user_meta($user_id, \'avatar\', \'\'); // очищаем поле
  43.         }
  44.     }
  45. }
  46. add_action(\'personal_options_update\', \'edit_user_profile_avatar\'); // Регистрируем хук-событие сохранения
  47. add_action(\'edit_user_profile_update\', \'edit_user_profile_avatar\'); // Регистрируем хук-событие сохранения
');