WordPress Subquery возвращает более 1 строки для плагина «Удалить пользователей» по роли и дате [закрыто]MySql

Форум по Mysql
Ответить
Anonymous
 WordPress Subquery возвращает более 1 строки для плагина «Удалить пользователей» по роли и дате [закрыто]

Сообщение Anonymous »

Я работаю над этим плагином для WordPress, чтобы удалить пользователей с роли абонента и 30 дней с момента присоединения к нам; Пользователи активны или нет. < /p>
Я не могу исправить эту ошибку после активации. < /p>

Код: Выделить всё

if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

global $wpdb;
require_once(ABSPATH.'/wp-admin/includes/user.php');

$role = "subscriber"; // The role to kill
$reassign = 1; // The user that all posts will fall back to, other wise they will be deleted
$days = 30; // Calculated in days, how old a user should be in order to get deleted

$this_role = "[[::]]";

$query = $wpdb->prepare("
SELECT user_id
FROM $wpdb->usermeta
WHERE meta_key = '{$wpdb->prefix}capabilities'
AND (SELECT user_id
FROM $wpdb->users
WHERE user_registered < NOW() - INTERVAL $days DAY
)
AND meta_value RLIKE %s", $this_role);

if ( $users_of_this_role = $wpdb->get_results( $query, ARRAY_N ) )
foreach( $users_of_this_role as $user_id )
wp_delete_user( $user_id[0], $reassign );
< /code>
ошибка: < /p>
WordPress database error
Subquery returns more than 1 row for query
SELECT user_id
FROM wpi3_usermeta
WHERE meta_key = 'wpi3_capabilities'
AND (SELECT user_id
FROM wpi3_users
WHERE user_registered < NOW() - INTERVAL 30 DAY
)
AND meta_value RLIKE '[[::]]' made by require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), include_once('/plugins/delete_users-1/delete_users.php')
Я попытался добавить в в где , но он показывает ошибку синтаксиса.

Подробнее здесь: https://stackoverflow.com/questions/796 ... rs-by-role
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»