WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

WC_Privacy::delete_inactive_accounts_query() protected WC 3.4.0

Delete inactive accounts.

{} Это метод класса: WC_Privacy{}

Хуки из метода
Возвращает

Число. Count of customers that were deleted.

Использование

$result = WC_Privacy::delete_inactive_accounts_query( $timestamp, $limit );
$timestamp(число) (обязательный)
Timestamp to delete customers before.
$limit(число)
Limit number of users to delete per run.
По умолчанию: 20

Список изменений

С версии 3.4.0 Введена.

Код WC_Privacy::delete_inactive_accounts_query() WC 4.7.1

<?php
protected static function delete_inactive_accounts_query( $timestamp, $limit = 20 ) {
	$count      = 0;
	$user_query = new WP_User_Query(
		array(
			'fields'     => 'ID',
			'number'     => $limit,
			'role__in'   => apply_filters(
				'woocommerce_delete_inactive_account_roles',
				array(
					'Customer',
					'Subscriber',
				)
			),
			'meta_query' => array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query
				'relation' => 'AND',
				array(
					'key'     => 'wc_last_active',
					'value'   => (string) $timestamp,
					'compare' => '<',
					'type'    => 'NUMERIC',
				),
				array(
					'key'     => 'wc_last_active',
					'value'   => '0',
					'compare' => '>',
					'type'    => 'NUMERIC',
				),
			),
		)
	);

	$user_ids = $user_query->get_results();

	if ( $user_ids ) {
		if ( ! function_exists( 'wp_delete_user' ) ) {
			require_once ABSPATH . 'wp-admin/includes/user.php';
		}

		foreach ( $user_ids as $user_id ) {
			wp_delete_user( $user_id );
			$count ++;
		}
	}

	return $count;
}