我正在尝试制作一个页面链接菜单,人们可以在购买会员资格后访问这些链接(通过WooCommerce Memberships)。如果他们还没有访问它们,我希望这些页面显示为灰色。
我已经将页面设置为在购买WooCommerce会员资格后X天获取访问权限,但是我使用的代码根本无效。即使它应该返回true,它也会返回false。
有什么想法吗?
<?php
$restrict_th0 = wc_memberships_is_post_content_restricted(24);
$restrict_th1 = wc_memberships_is_post_content_restricted(28);
$restrict_th2 = wc_memberships_is_post_content_restricted(30);
?>
<ul id="menu-academy">
<li>
<?php if ( $restrict_th0 ) { } else { ?>
<a href="<?php echo home_url(); ?>/URL HERE/">
<?php } ?>
<span class="module_no">0</span><span class="module_descript">MODULE DESCRIPTION<span class="module_access<?php if ( $restrict_th0 ) { ?> lock<?php } ?>">
<i class="fa fa-2x fa-<?php if ( $restrict_th0 ) { } else { ?>un<?php } ?>lock<?php if ( $restrict_th0 ) { } else { ?>-alt<?php } ?>" aria-hidden="true"></i></span></span><?php if ( $restrict_th0 ) { } else { ?></a><?php } ?></li>
</ul
答案 0 :(得分:1)
你应该更好地使用这个条件:
if( wc_memberships_is_user_active_member( $membership_plan ) ) {
// Displayed fully functional Menu
} else {
// Greyed displayed inactive Menu
}
这适用于已订阅计划且订阅有效的活动记录用户。
$membership_plan
必须由会员计划slug,post对象或相关帖子ID替换。
您还可以使用wc_memberships_is_post_content_restricted(ID)
或is_page(ID)
进行进一步行动......