Слой доступа к БД и удаление строк
WordPress использует wpdbкласс для управления доступом к слою базы данных с помощью global $wpdb. Класс предоставляет метод с именем delete()для удаления строк из таблиц:
$wpdb->delete( $table, $where, $where_format = null );
Многосайтовые таблицы и ключи активации
В WordPress есть несколько специфических таблиц MU , одна из которых {$wpdb->prefix}signups(префикс, заданный в вашем wp-config.phpфайле). Схемы таблиц здесь . Ответственность за активацию учетной записи пользователя несет тот activation_key, который устанавливается после того, как пользователь щелкнул ссылку в письме. После этого activatedключ будет установлен со datetimeзначением. Перед активацией учетной записи значение по умолчанию будет 0000-00-00 00:00:00(в случае, если вам нужно запросить по умолчанию). Также в процессе находится столбец tinyint/ , который устанавливается, если пользователь активен.1active1
Ядро само использует wpmu_activate_signup(). Посмотрите на это для некоторых примеров. Одним из них является следующее, которое обновляет запись пользователя для ее активации - переработано для удобства чтения.
$wpdb->update(
$wpdb->signups,
array(
'active' => 1,
'activated' => current_time( 'mysql', true ),
),
array( 'activation_key' => $key, )
);
Создание запроса к еще не активированным аккаунтам
Просто позвольте WP сделать тяжелую работу:
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', )
);
Вы можете использовать третий аргумент (массив), если вы используете форму (n admin) для выполнения этих запросов (например, для расширения a WP_List_Table), чтобы указать, что вы используете строку. Имейте в виду, что вы все еще должны дезинфицировать $_POSTзначения. Подсказка: вы также можете использовать user_email.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);