调用paramenter,在formatting.php中获取UTF8 null返回错误

时间:2015-05-03 22:44:52

标签: php wordpress utf-8 wordpress-plugin wordpress-theme-customize

我收到了一个相关的Catchable致命错误:类WP_User的对象无法在第766行的/wp-includes/formatting.php中转换为字符串。我找到了一个与https://wordpress.org/support/topic/catchable-fatal-error-object-of-class-wp_error-could-not-be-converted-to-string-11

我正在使用的php,我认为应该正在使用的是:

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";

}

我得到的错误与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 个答案:

答案 0 :(得分:0)

我认为语法是:

$first_name = $user_info->user_firstname;

可能值得一试。希望这会有所帮助:)

答案 1 :(得分:0)

您需要将用户名返回为字符串而不是整个用户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";
 }