我遇到了一个相关的可追踪致命错误: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";
}