Чтобы получить все подписки по идентификатору пользователя в WooCommerce, вы можете использовать различные методы. Вот несколько примеров:
Метод 1: использование функции WC_Subscriptions
$user_id = 123; // Replace with the user ID you want to retrieve subscriptions for
// Get an instance of the WC_Subscriptions_Manager class
$subscriptions_manager = WC_Subscriptions_Manager::get_instance();
// Use the get_users_subscriptions() method to retrieve subscriptions
$subscriptions = $subscriptions_manager->get_users_subscriptions($user_id);
// Loop through the subscriptions and access subscription details
foreach ($subscriptions as $subscription) {
$subscription_id = $subscription->get_id();
// Access other subscription properties as needed
// ...
}
Метод 2: использование функции get_posts()
$user_id = 123; // Replace with the user ID you want to retrieve subscriptions for
$args = array(
'post_type' => 'shop_subscription',
'post_status' => 'any',
'posts_per_page' => -1,
'author' => $user_id,
);
$subscriptions = get_posts($args);
// Loop through the subscriptions and access subscription details
foreach ($subscriptions as $subscription) {
$subscription_id = $subscription->ID;
// Access other subscription properties as needed
// ...
}
Метод 3. Использование специального запроса к базе данных
$user_id = 123; // Replace with the user ID you want to retrieve subscriptions for
global $wpdb;
$query = $wpdb->prepare("
SELECT p.ID
FROM {$wpdb->posts} p
INNER JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id
WHERE p.post_type = 'shop_subscription'
AND p.post_status IN ('wc-active', 'wc-pending')
AND pm.meta_key = '_customer_user'
AND pm.meta_value = %d
", $user_id);
$subscription_ids = $wpdb->get_col($query);
// Loop through the subscription IDs and access subscription details
foreach ($subscription_ids as $subscription_id) {
// Access other subscription properties using $subscription_id
// ...
}
Эти методы позволяют получить все подписки, связанные с определенным идентификатором пользователя в WooCommerce. Не забудьте заменить переменную $user_id
фактическим идентификатором пользователя, для которого вы хотите получить подписки.