Я получаю связанную Catchable фатальную ошибку: объект класса WP_User не может быть преобразован в строку в /wp-includes/formatting.php в строке 766. Я нашел поток, который связан с 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 '';
}
Я думаю, что синтаксис:
$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";
}