调用Paramenter,在格式化中获取UTF8 null返回错误



我遇到了一个相关的可追踪致命错误:class wp_user的对象无法转换为/wp-includes/formatting.php在第766行中的字符串。我在766上找到了一个相关的线程https://wordpress.org/support/topic/catchable-fatal-error-eror-object-of-class-wp_error-cerlor-could-not-not-be-be-converted to-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";
}

我收到的错误与格式化有关。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 '';
    }

我认为语法是:

$first_name = $user_info->user_firstname;

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

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

最新更新