Index: author-template.php
===================================================================
--- author-template.php	(revision 10289)
+++ author-template.php	(working copy)
@@ -53,13 +53,26 @@
 /**
  * Retrieve the description of the author of the current post.
  *
+ * @since 2.8.0
+ * @uses $authordata The current author's DB object.
+ * @return string The author's field from the current author's DB object.
+ */
+function the_author_meta($field = '') {
+	global $authordata;
+	return isset($authordata->$field) ? $authordata->$field : '';
+}
+
+
+
+/**
+ * Retrieve the description of the author of the current post.
+ *
  * @since 1.5
  * @uses $authordata The current author's DB object.
  * @return string The author's description.
  */
 function get_the_author_description() {
-	global $authordata;
-	return $authordata->description;
+	echo the_author_meta('description');
 }
 
 /**
@@ -70,7 +83,7 @@
  * @see get_the_author_description()
  */
 function the_author_description() {
-	echo get_the_author_description();
+	echo the_author_meta('description');
 }
 
 /**
@@ -81,8 +94,7 @@
  * @return string The author's login name (username).
  */
 function get_the_author_login() {
-	global $authordata;
-	return $authordata->user_login;
+	echo the_author_meta('user_login');
 }
 
 /**
@@ -93,7 +105,7 @@
  * @see get_the_author_login()
  */
 function the_author_login() {
-	echo get_the_author_login();
+	echo the_author_meta('user_login');
 }
 
 /**
@@ -104,8 +116,7 @@
  * @return string The author's first name.
  */
 function get_the_author_firstname() {
-	global $authordata;
-	return $authordata->first_name;
+	echo the_author_meta('first_name');
 }
 
 /**
@@ -116,7 +127,7 @@
  * @uses get_the_author_firstname()
  */
 function the_author_firstname() {
-	echo get_the_author_firstname();
+	echo the_author_meta('first_name');
 }
 
 /**
@@ -127,8 +138,7 @@
  * @return string The author's last name.
  */
 function get_the_author_lastname() {
-	global $authordata;
-	return $authordata->last_name;
+	echo the_author_meta('last_name');
 }
 
 /**
@@ -139,7 +149,7 @@
  * @uses get_the_author_lastname()
  */
 function the_author_lastname() {
-	echo get_the_author_lastname();
+	echo the_author_meta('last_name');
 }
 
 /**
@@ -150,8 +160,7 @@
  * @return string The author's nickname.
  */
 function get_the_author_nickname() {
-	global $authordata;
-	return $authordata->nickname;
+	echo the_author_meta('nickname');
 }
 
 /**
@@ -162,7 +171,7 @@
  * @uses get_the_author_nickname()
  */
 function the_author_nickname() {
-	echo get_the_author_nickname();
+	echo the_author_meta('nickname');
 }
 
 /**
@@ -173,8 +182,7 @@
  * @return int The author's ID.
  */
 function get_the_author_ID() {
-	global $authordata;
-	return (int) $authordata->ID;
+	echo the_author_meta('ID');
 }
 
 /**
@@ -185,7 +193,7 @@
  * @uses get_the_author_ID()
  */
 function the_author_ID() {
-	echo get_the_author_id();
+	echo the_author_meta('ID');
 }
 
 /**
@@ -196,8 +204,7 @@
  * @return string The author's username.
  */
 function get_the_author_email() {
-	global $authordata;
-	return $authordata->user_email;
+	echo the_author_meta('user_email');
 }
 
 /**
@@ -208,7 +215,7 @@
  * @uses get_the_author_email()
  */
 function the_author_email() {
-	echo apply_filters('the_author_email', get_the_author_email() );
+	echo the_author_meta('user_email');
 }
 
 /**
@@ -435,9 +442,7 @@
  * @return string The author's display name.
  */
 function get_author_name( $auth_id ) {
-	$authordata = get_userdata( $auth_id );
-	return $authordata->display_name;
-}
+	echo the_author_meta('display_name');
 
 /**
  * List all the authors of the blog, with several options available.
