From de4b2724fd54cc77545bc996de59caa45c5689c0 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Mon, 23 Apr 2012 21:34:07 +0000 Subject: [PATCH] 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: https://develop.svn.wordpress.org/trunk@20565 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/author-template.php | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/wp-includes/author-template.php b/wp-includes/author-template.php index c9c8dfad9d..801dce9a29 100644 --- a/wp-includes/author-template.php +++ b/wp-includes/author-template.php @@ -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 ); } /**