WP_User 객체에서 Wordpress 사용자의 이름을 가져오려면 어떻게 해야 합니까?
기본 플러그인을 쓰고 있습니다.제 코드는 다음과 같습니다.
$new_user = get_userdata($user_id); //$user_id is passed as a parameter
$first_name1 = $new_user->user_firstname;
$last_name1 = $new_user->user_lastname;
echo "<" . $first_name1 . $last_name1 . ">";
//returns: <>
$first_name2 = $new_user-first_name;
$last_name2 = $new_user->last_name;
echo "<" . $first_name2 . $last_name2 . ">";
//returns: <>
고문서에 따르면 이게 효과가 있을 것 같은데$first_name
또는$last_name
텅 비었어요이상하게도, 이것은 기능합니다.
$id = $new_user->ID;
내가 뭘 잘못하고 있나요?
갱신:
I var_dump
ed.$new_user
그리고 그 물건들은 저 안에 없어!이것은 /mu-plugins 디렉토리의 플러그인 내부에서 호출하기 때문입니까?그 속성은 나중에 추가됩니까?
object(WP_User)#334 (7) { ["data"]=> object(stdClass)#330 (10) { ["ID"]=> string(3) "758" ["user_login"]=> string(7) "emerson" ["user_pass"]=> string(34) "$P$BB2PuvRbyGUSVZR1M8FLSujPvMO2MW0" ["user_nicename"]=> string(7) "emerson" ["user_email"]=> string(16) "123esl@gmail.com" ["user_url"]=> string(0) "" ["user_registered"]=> string(19) "2012-08-17 01:03:27" ["user_activation_key"]=> string(0) "" ["user_status"]=> string(1) "0" ["display_name"]=> string(7) "emerson" } ["ID"]=> int(758) ["caps"]=> array(1) { ["subscriber"]=> string(1) "1" } ["cap_key"]=> string(15) "wp_capabilities" ["roles"]=> array(1) { [0]=> string(10) "subscriber" } ["allcaps"]=> array(15) { ["read"]=> bool(true) ["level_0"]=> bool(true) ["read_questions"]=> bool(true) ["read_answers"]=> bool(true) ["publish_questions"]=> bool(true) ["immediately_publish_questions"]=> bool(true) ["publish_answers"]=> bool(true) ["read_private_forums"]=> bool(true) ["publish_topics"]=> bool(true) ["edit_topics"]=> bool(true) ["publish_replies"]=> bool(true) ["edit_replies"]=> bool(true) ["assign_topic_tags"]=> bool(true) ["access_s2member_level0"]=> bool(true) ["subscriber"]=> string(1) "1" } ["filter"]=> NULL }
업데이트 2:
이거 해봤어요.
$user_meta = get_user_meta( $new_user->ID );
var_dump($user_meta);
다음 메시지가 표시되었습니다(last_name과 first_name은 사용자 프로파일에 정의되어 있는데 비어 있습니다).
array(11) { ["wp_user_level"]=> array(1) { [0]=> string(1) "0" } ["show_admin_bar_front"]=> array(1) { [0]=> string(4) "true" } ["wp_capabilities"]=> array(1) { [0]=> string(32) "a:1:{s:10:"subscriber";s:1:"1";}" } ["use_ssl"]=> array(1) { [0]=> string(1) "0" } ["admin_color"]=> array(1) { [0]=> string(5) "fresh" } ["comment_shortcuts"]=> array(1) { [0]=> string(5) "false" } ["rich_editing"]=> array(1) { [0]=> string(4) "true" } ["description"]=> array(1) { [0]=> string(0) "" } ["nickname"]=> array(1) { [0]=> string(7) "emerson" } ["last_name"]=> array(1) { [0]=> string(0) "" } ["first_name"]=> array(1) { [0]=> string(0) "" } }
사용자의 이름과 성이 user_meta 내에 저장됩니다.
http://codex.wordpress.org/Function_Reference/get_user_meta
예를 들어 이 모든 데이터에 액세스하려면 다음과 같이 하십시오.
$user_meta = get_user_meta( $new_user->ID );
또는 단일 메타 값에 액세스하려면 다음과 같이 하십시오.
$last_name = get_user_meta( $new_user->ID, 'last_name', true );
찾고 있는 데이터는 이미 함수가 get_userdata()로 반환하는 WP_USER 오브젝트 내에 있습니다.사용자의 성과 이름에 액세스하려면 다음과 같이 하십시오.
# Retrieve the user's data (here we suppose, of course, the user exists)
$new_user = get_userdata( $user_id );
# Get the user's first and last name
$first_name = $new_user->first_name;
$last_name = $new_user->last_name;
참고 자료: https://developer.wordpress.org/reference/classes/wp_user/
워드프레스 스택 익스체인지에서 비슷한 질문을 하신 분이라고 생각합니다.
답변 자체는 아니지만, mu-plugins 코드에서 호출했을 때 이러한 메타 필드를 취득할 때 WP 플랫폼 자체에 버그가 있는 것으로 보입니다.
저도 최근에 이 일을 경험했는데, 제 기능에 몇 가지 코드가 있었어요.user_register 훅에서 호출된 php.그 훅이 mu-plugins에 정의되었을 때 당신이 보고한 문제를 받았습니다.그 훅이 내 함수에 정의되었을 때.php 정상적으로 동작했습니다.
언급URL : https://stackoverflow.com/questions/11995588/how-to-get-wordpress-users-first-name-from-wp-user-object
'programing' 카테고리의 다른 글
앵글을 사용하여 활성 탭 스타일 설정JS (0) | 2023.03.12 |
---|---|
프로젝터 테스트:로그인 폼에서 텍스트 요소의 값을 설정하려면 어떻게 해야 합니까? (0) | 2023.03.12 |
TypeScript에서 sleep 기능을 구현하는 방법 (0) | 2023.03.12 |
MYSQL 특정 행만 덤프 (0) | 2023.02.04 |
:class가 vue에서 계산된 속성을 호출하지 않습니다(계산된 속성이 호출되지 않음). (0) | 2023.02.04 |