ulfben

More robust author import

Aug 27th, 2013
67
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Set up the author
  2. if($ablog['author'] == '0') {
  3.     // Try the original author
  4.     $author = $item->get_author();
  5.     if(!empty($author)) {
  6.         $author = $author->get_name();
  7.     }
  8.     $result = get_user_by('login', $author);               
  9.     if($result == false){                      
  10.         $result = get_users(array('search'=>$author, 'number'=>1)); //search users by email address, URL, ID or username           
  11.         if(is_array($result) && count($result)){       
  12.             $result = $result[0];      
  13.             if(!isset($result->ID)){           
  14.                 $result = false;
  15.             }
  16.         }
  17.     }                                          
  18.     if($result == false){ //Search (manually) for display_name and user_nicename                   
  19.         $blogusers = get_users(array('fields' => array('ID','user_nicename','display_name')));
  20.         foreach ($blogusers as $user){
  21.             if((strcasecmp($user->user_nicename, $author) == 0) || (strcasecmp($user->display_name, $author) == 0)){                           
  22.                 $result = $user;
  23.                 break;
  24.             }      
  25.         }
  26.     }
  27.     if($result != false && isset($result->ID)){
  28.         $author = $result->ID;                 
  29.     } else {                   
  30.         $author = $ablog['altauthor'];
  31.     }
  32. } else {
  33.     // Use a different author
  34.     $author = $ablog['author'];
  35. }
RAW Paste Data