Как получить уровень членства для определенной электронной почты пользователя


Я пытаюсь интегрировать приложение для 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');

Единственный ответ, который я получаю, кроме того, для неизвестный пользователь - это "Пустой уровень членства". Он знает, что пользователь действителен, но не возвращает ничего полезного.

Любой указатель будет оценен по достоинству

Author: Nathan Johnson, 2018-01-25

1 answers

pmpro_getMembershipLevelForUser возвращает уровень членства для текущего пользователя, если параметр не указан, и это будет анонимный пользователь с высокой вероятностью (в зависимости от того, как вы его называете).

Использовать

pmpro_getMembershipLevelForUser($user->ID)

Вместо

pmpro_getMembershipLevelForUser()
 1
Author: WowPress.host, 2018-01-25 17:43:04