Skip to main content

Para agregar eventos de manera cronológica se puede usar el plugin WP Crontrol. Ahí nos creará un panel en donde podemos declarar una acción que se ejecutará cada determinado tiempo. Supongamos que se ejecuta diario, entonces podemos declarar una función que solo se ejecuta el dia 1ero de cada mes y vincularla por el hook de la siguiente manera:

add_action( 'cron_limpia_descargas', 'limpiar_descargas' );

function limpiar_descargas() {
    $dia = date('d');
    if ('01' == $dia) {
        $usuarios = get_users();
        foreach ( $usuarios as $usuario ) {
            $user_id = $usuario->ID;
            update_field('descargas', 0, 'user_'.$user_id);
        }
    }
}

Por ende la acción que tenemos que declarar que se ejecute de manera diaria en el plugin es cron_limpia_descargas

Nota: En este ejemplo se usó la función update_field porque del proyecto del que se sacó se utilizó Advanced Custom Fields (ACF).