Calling paramenter, get UTF8 null return error in

2019-09-10 15:15发布

I am getting a related Catchable fatal error: Object of class WP_User could not be converted to string in /wp-includes/formatting.php on line 766. I found a thread that relates at https://wordpress.org/support/topic/catchable-fatal-error-object-of-class-wp_error-could-not-be-converted-to-string-11

The php I am using, which I think should be working is:

add_filter('gform_field_value_pm_first', 'populate_pm_first');
function populate_pm_first($value){
    return $user_info = get_userdata(get_current_user_id());
      $first_name = $user_info->first_name;
      echo "$first_name";

}

The error I am getting relates to formatting.php:

/**

 * Checks for invalid UTF8 in a string.
 *
 * @since 2.8.0
 *
 * @param string $string The text which is to be checked.
 * @param boolean $strip Optional. Whether to attempt to strip out invalid UTF8. Default is false.
 * @return string The checked text.
 */
function wp_check_invalid_utf8( $string, $strip = false ) {
    $string = (string) $string;

        if ( 0 === strlen( $string ) ) {
        return '';
    }

2条回答
Summer. ? 凉城
2楼-- · 2019-09-10 15:44

I think the syntax is:

$first_name = $user_info->user_firstname;

Might be worth a try. Hope this helps :)

查看更多
一纸荒年 Trace。
3楼-- · 2019-09-10 16:04

You need to return user name as string instead of whole user object.

 add_filter('gform_field_value_pm_first', 'populate_pm_first');
 function populate_pm_first($value)
 {
      $user_info = get_userdata(get_current_user_id());
      $first_name = $user_info->first_name;
      return $first_name; // return user name string
      //echo "$first_name";
 }
查看更多
登录 后发表回答