Как перебрать всех пользователей в базе данных и применить роль - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь создать цикл, который просматривает данные каждого пользователя в моей таблице событий в базе данных и применяет роль приостановки, если количество возвращаемых строк кратно 12.

Вот то, что я создал, но, похоже, это не работает;

<?php
    global $wpdb;

    for( $x = 1; $x < 300; $x++ ){
        $count = $wpdb->get_results( 'SELECT * FROM wp_events WHERE user_id = "'.$x.'"' ); 

        if ($count % 12 == 0){ 
            $user = new WP_User( $x );
            $user->add_role( 'suspended' );
        }
    }
?>

1 Ответ

2 голосов
/ 07 мая 2019

Метод get_results возвращает массив.Таким образом, вы используете массив для вычисления по модулю, поэтому он всегда будет возвращать 1.

. Чтобы исправить это, вы можете изменить свое условие на:

if (count($count) % 12 == 0) {
    // Your code...
}

.информация: https://developer.wordpress.org/reference/classes/wpdb/get_results/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...