Wow, that’s too bad.
Saving settings into your DB needs an admin authority and knowing a scret nonce. Additionally just before saving, admin capability will be checked by the following code:
// must check that the user has the required capability
if ( ! current_user_can( 'manage_options' ) )
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
This means “double-check” by design. So it seems very tough to debug, but I should try.
For the time being, I recommend you to put the following snippet into your functions.php
which is placed in your theme or child theme.
function my_whitelist( $validate ) {
$whitelist = array(
'JP', // your country code should be upper case
);
// block by default
$validate['result'] = 'blocked';
// if the country code is in the whitelist, then pass it
if ( in_array( $validate['code'], $whitelist ) ) {
$validate['result'] = 'passed';
}
// return the validation result
return $validate;
}
add_filter( 'ip-geo-block-comment', 'my_whitelist' );
add_filter( 'ip-geo-block-xmlrpc', 'my_whitelist' );
add_filter( 'ip-geo-block-login', 'my_whitelist' );
add_filter( 'ip-geo-block-admin', 'my_whitelist' );
This code does not use the whitelist in your DB. Please refer to this document about some more details.
And I expect you to send me an email if you never mind. You can find my address here.
I would appreciate your kind cooperation.