我正在尝试将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\');
除了未知用户之外,我得到的唯一响应是“成员级别为空”。它知道用户是有效的,但不会返回任何有用的信息。
任何指针都将受到重视
最合适的回答,由SO网友:WowPress.host 整理而成
pmpro_getMembershipLevelForUser
如果未指定参数,则返回当前用户的成员级别,并且它将是高概率的匿名用户(取决于您如何调用它)。
使用
pmpro_getMembershipLevelForUser($user->ID)
而不是
pmpro_getMembershipLevelForUser()