Remove key mangling code from get_the_author_meta(). Make it more inline with get_user_option(). Handle collision with old users table columns that are on old schema, particularly user_description.

Props scribu, fredwu.
Fixes #20285


git-svn-id: http://svn.automattic.com/wordpress/trunk@20565 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2012-04-23 21:34:07 +00:00
parent 589792fca1
commit 43979f17ac
1 changed files with 9 additions and 14 deletions

View File

@ -96,25 +96,20 @@ function the_modified_author() {
* @param int $user_id Optional. User ID.
* @return string The author's field from the current author's DB object.
*/
function get_the_author_meta($field = '', $user_id = false) {
if ( ! $user_id )
function get_the_author_meta( $field = '', $user_id = false ) {
if ( ! $user_id ) {
global $authordata;
else
$user_id = $authordata->ID;
} else {
$authordata = get_userdata( $user_id );
}
// Keys used as object vars cannot have dashes.
$field = str_replace('-', '', $field);
$field = strtolower($field);
$user_field = "user_$field";
if ( in_array( $field, array( 'login', 'pass', 'nicename', 'email', 'url', 'registered', 'activation_key', 'status' ) ) )
$field = 'user_' . $field;
if ( 'id' == $field )
$value = isset($authordata->ID) ? (int)$authordata->ID : 0;
elseif ( isset($authordata->$user_field) )
$value = $authordata->$user_field;
else
$value = isset($authordata->$field) ? $authordata->$field : '';
$value = isset( $authordata->$field ) ? $authordata->$field : '';
return apply_filters('get_the_author_' . $field, $value, $user_id);
return apply_filters( 'get_the_author_' . $field, $value, $user_id );
}
/**