Слой доступа к БД и удаление строк
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
/ , который устанавливается, если пользователь активен.1
active
1
Ядро само использует 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', )
);