본문 바로가기
MySql

MySQL usermeta meta_key가 존재하면 Wordpress

by 베이스 공부 2020. 9. 21.
반응형

나는 이것이 여러분 모두에게 쉬운 일이라고 확신하지만 이것은 나에게 완전히 새로운 것입니다.

기본적으로 로그인 한 사용자의 프로필에 특정 메타 데이터가 첨부되어 있으면 사이트에 특정 항목이 표시되는지 확인하고 싶습니다.

사용자의 메타 데이터는 umeta_id, user_id, meta_key 및 meta_value를 포함하는 wp_usermeta 테이블에 저장됩니다. 본질적으로 user_id에 'test'라는 meta_key가 있는지 확인해야합니다.

get_user_meta () 함수를 알고 있지만 원하는 방식으로 작동하도록 할 수 없습니다.

global $current_user;

get_currentuserinfo(); // wordpress global variable to fetch logged in user info

$userID = $current_user->ID; // logged in user's ID
$havemeta = get_user_meta($userID, 'test', true); // stores the value of logged in user's meta data for 'test'.

if (isset($havemeta)){
    echo $havemeta;
} else {
    echo "No";
}

이 코드의 이론은 meta_key 'test'에 meta_value가 포함되어 있는지 확인하고 true이면 X else do Y를 확인하는 것입니다. 성가심은 모든 사용자가 'test'의 meta_key를 가지고 있지 않다는 것입니다. 따라서 로그인 한 사용자에게이 메타 키가 없으면 코드가 작동하지 않습니다. 게다가 메타 키의 실제 값을 확인하고 싶지 않습니다 (내가 신경 쓰는 모든 경우 NULL 일 수 있음). 로그인 한 사용자에 대해 그러한 키가 존재하는지 알고 싶습니다.

어떤 아이디어?

 

해결 방법

 

if ($havemeta) { echo 'your stuff'; }

 

참조 페이지 https://stackoverflow.com/questions/9108218

 

 

반응형

댓글