Я пытаюсь создать меню из ссылок на страницы, к которым люди могут получить доступ после приобретения членства (через Членство в WooCommerce). Я хочу, чтобы эти страницы были серыми, если они еще не имеют к ним доступа.
Я установил доступ к страницам через X дней после покупки в WooCommerce Memberships, однако используемый мной код просто не работает. Он возвращает ложь, даже когда должен возвращать истину.
Есть идеи?
<?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
должен быть заменен слагом плана членства, почтовым объектом или соответствующим идентификатором поста.
После вы можете использовать также wc_memberships_is_post_content_restricted(ID)
или же is_page(ID)
для дальнейших действий…
Других решений пока нет …