Вот пользовательская условная функция, которая имеет необязательный аргумент $ user_id (определенный user_id).
Эта условная функция возвращает true
, если текущий пользователь (или определенный пользователем) имеет активные подписки:
function has_active_subscription($user_id=null) {
// if the user_id is not set in function argument we get the current user ID
if(null == $user_id)
$user_id = get_current_user_id();
// Get all active subscrptions for a user ID
$active_subscriptions = get_posts(array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => $user_id,
'post_type' => 'shop_subscription', // Subscription post type
'post_status' => 'wc-active', // Active subscription
));
// if
if(!empty($active_subscriptions)) return true;
else return false;
}
код идет в function.php файл вашей активной темы ребенка (или темы), или также в любом файле плагина.
Обновление использования:
1) Использование для текущего пользователя:
if(has_active_subscription()){ // Current user has an active subscription
// do something … here goes your code
// Example of displaying something
echo '<p>I have active subscription</p>';
}
2) Использование для определенного идентификатора пользователя:
if(has_active_subscription(26)){ // Defined User ID has an active subscription
// do something … here goes your code
// Example of displaying something
echo '<p>User ID "26" have an active subscription</p>';
}
Этот код проверено и работает
Похожие ответы:
Спасибо Loic Кажется, что коды работают, но проблема в том, что когда я перенаправляю страницу, появляется следующая ошибка. Предупреждение: невозможно изменить информацию заголовка - уже отправленные заголовки (вывод запущен в/home2/xxx/xxxx/wp-content/темы/jobsdojo/header.php: 13) в /home2/xxx/public_html/quickextra/wp-includes/pluggable.php в строке 1174. пожалуйста, еще один совет может помочь – Knight
Спасибо @ Loic TheAztec, что я пытался переопределить пакет- selection.php – Knight