Como alterar a function de um usuário dependendo da data registrada?

Eu importei 4000 usuários em 1 de outubro de 2015 como “assinantes” e agora preciso mudar todos os seus papéis para um papel personalizado chamado “A ser Aprovado”. Então, o que eu preciso é mudar os papéis desses assinantes para o meu papel personalizado de “Ser Aprovado” apenas se eles se registraram em 1 de outubro. Estou usando este plugin para filtrar a data em que se registraram no painel de controle – https://wordpress.org/plugins/recently-registered/ e este plugin https://wordpress.org/plugins/user-role-editor/ para meu papel personalizado chamado “Para ser aprovado”. Está demorando a mudar manualmente seus papéis no painel. Utilizei o código abaixo para me iniciar, mas sou novato com o PHP. Qualquer ajuda seria apreciada:

// Access to get_users $blogusers = get_users( 'subscriber' ); foreach ($blogusers as $user) { $date = '2015-10-01'; $registered = ($user_info->user_registered); if($date == $registered) { $u = new WP_User( $user->ID ); // Remove role $u->remove_role( 'subscriber' ); // Add role $u->add_role( 'to_be_approved' ); } } 

Estou no caminho certo com isso?

obrigado

Solutions Collecting From Web of "Como alterar a function de um usuário dependendo da data registrada?"

Fechar, a comparação da data está ligeiramente desligada – user_registered será um tempo de data do MySQL, portanto sua comparação de cordas nunca será verdadeira. Em vez disso, converta-a apenas na data:

 $registered = mysql2date( 'Ym-d', $user->user_registered ); 

Agora estamos a falar:

 if ( '2015-10-01' === $registered ) { // chocks away } 

Atualização: Aqui está um snippet completo que deve ser menos intensivo na memory também:

 $users = get_users( array( 'fields' => array( 'ID', 'user_registered' ), 'role' => 'subscriber', ) ); foreach ( $users as $user ) { if ( '2015-10-01' === mysql2date( 'Ym-d', $user->user_registered ) ) { $u = new WP_User( $user->ID ); // Remove role $u->remove_role( 'subscriber' ); // Add role $u->add_role( 'to_be_approved' ); } } 

O código não é testado e você deve assumir que será quebra, portanto, backup, backup, backup. Certifique-se de que a debugging esteja ativada também.