我正在尝试制作一个页面链接菜单,一旦他们购买了会员资格(通过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
你应该更好地使用这个条件:
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)
进一步采取行动......