Членство в WooCommerce: условная проверка контента

Я пытаюсь создать меню из ссылок на страницы, к которым люди могут получить доступ после приобретения членства (через Членство в 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

1

Решение

Вам лучше использовать это условие:

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) для дальнейших действий…

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]