Как получить уровень членства для определенной электронной почты пользователя
Я пытаюсь интегрировать приложение для Android и Windows со своим сайтом. На данный момент я работаю "в автономном режиме" на своем локальном хост-сайте Windows. Кажется, все настроено правильно. У меня 3 пользователя: администратор Wordpress + два других. Я установил 2 уровня членства - один бесплатный, один платный. Мне нужно получить уровень(уровни) для пользователя по его адресу электронной почты.
Я добавил в тему следующее functions.php файл:
/*
Call to http://yoursite.com/[email protected]&secret=CHECK to
check the membership level of a user.
*/
function my_init_pmpro_mini_api()
{
if(function_exists('pmpro_getMembershipLevelForUser') &&
!empty($_REQUEST['verify']) &&
!empty($_REQUEST['secret']))
{
if($_REQUEST['secret'] != "CHECK")
wp_die("Invalid secret.");
$user = get_user_by("email", str_replace(" ", "+",($_REQUEST['verify'])));
if(empty($user))
wp_die("User not found.");
$membership_level = pmpro_getMembershipLevelForUser();
if(empty($membership_level))
wp_die("Membership Level Empty");
//user and membership level found, output json encoded membership level info;
echo json_encode($membership_level);
exit;
}
}
add_action('init', 'my_init_pmpro_mini_api');
Единственный ответ, который я получаю, кроме того, для неизвестный пользователь - это "Пустой уровень членства". Он знает, что пользователь действителен, но не возвращает ничего полезного.
Любой указатель будет оценен по достоинству
1 answers
pmpro_getMembershipLevelForUser
возвращает уровень членства для текущего пользователя, если параметр не указан, и это будет анонимный пользователь с высокой вероятностью (в зависимости от того, как вы его называете).
Использовать
pmpro_getMembershipLevelForUser($user->ID)
Вместо
pmpro_getMembershipLevelForUser()