如何获取特定用户电子邮件的会员级别

时间:2018-01-25 作者:user2068393

我正在尝试将Android和Windows应用程序与我的网站集成。此时,我正在windows localhost站点“脱机”工作。一切似乎都安排妥当了。我有3个用户:Wordpress管理员+另外两个。我已经设置了两个会员级别-一个免费一个付费。我需要通过用户的电子邮件地址获取其级别。

我在主题函数中添加了以下内容。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 个回复
最合适的回答,由SO网友:WowPress.host 整理而成

pmpro_getMembershipLevelForUser 如果未指定参数,则返回当前用户的成员级别,并且它将是高概率的匿名用户(取决于您如何调用它)。

使用

pmpro_getMembershipLevelForUser($user->ID)
而不是

pmpro_getMembershipLevelForUser()

结束

相关推荐

从Functions.php访问插件数据

我正在尝试将wordpress帖子中的数据插入到新的表数据库表中,而不是WP_postmeta. 我的函数正在运行,它将插入$postid 没问题。我遇到的问题是,我需要从Marty Spellerbergs的“地址地理编码器”插件中插入纬度和经度坐标。在插件页面上,Marty说您可以使用以下内容访问循环中的Cooridate:<?php echo get_geocode_lng( $post->ID ); ?> <?php echo get_geocode_lat( $p