我正在尝试使用以下代码首先检查用户是否具有特定的会员级别,然后检查他们是否在 wp 网络上有博客。如果他们通过了这两项检查,则回显一个链接,如果他们没有通过第一个 if 检查,则回显另一个链接。不过,我正在尝试检查他们是否通过了第一个 if 但第二个失败,然后回显不同的链接。这是我现在拥有的代码 -
<?php
if(pmpro_hasMembershipLevel(array(2,4))) {
if(current_user_can( 'edit_posts' )) {
global $current_user;
$blogs = get_blogs_of_user( $current_user->id );
if($blogs) {
foreach ( $blogs as $blog ) {
if($blog->userblog_id != 1) {
echo '<li><a href="http://' . $blog->domain . $blog->path .'wp-admin/">My Site</a></li>';
} else {
echo '<li><a href="/register-site/">Register your Site</a></li>';
}
}
}
}
} else {
echo '<li><a href="/membership-levels/">UPGRADE</a></li>';
}
?>
上面的代码在假设时会回显注册链接,但是当用户有博客时,注册链接不应该显示,但现在它显示在我的站点链接旁边。有任何想法吗?
编辑
免费用户看到升级链接
没有站点的高级用户会看到注册链接(2,4 的成员资格数组是他们必须是其中之一的级别)
拥有网站的高级会员将看到我的网站链接。
编辑
我能够使用 print_r 并在它假设回显注册链接的页面上 - Array ( [1] => stdClass Object ( [userblog_id] => 1 [blogname] => mysite.com [domain] => mysite.com [路径] => / [site_id] => 1 [siteurl] => https://mysite.com [存档] => 0 [垃圾邮件] => 0 [已删除] => 0 ) )