How about this solution for “controlling content by country” using shortcode?
1. Put the following code snippet into your theme’s functions.php:
if ( class_exists( 'IP_Geo_Block' ) ) {
function my_content_control( $args, $content = null ) {
// get the visitor's geolocation
$geo = IP_Geo_Block::get_geolocation();
// return content if the contry code matches the white list
$settings = IP_Geo_Block::get_option();
if ( FALSE !== stripos( $settings['public']['white_list'], $geo['code'] ) ) {
return $content;
}
// return a default message
return "<p>Sorry, but you can't access this content.</p>\n";
}
add_shortcode( 'ip-geo-block', 'my_content_control' );
}
2. Set “Whitelist of country code” for “Front-end target settings” but disable “Block by country” as follows:
![Front-end settings](https://cloud.githubusercontent.com/assets/828814/21960531/4c3b0fe0-db33-11e6-985f-c240f2332c68.png)
3. The put the shortcode [ip-geo-block]
into your target page as follows:
[ip-geo-block]
<p>This is a content restricted by country.</p>
[/ip-geo-block]
I think this solution is better than specifying the URLs because WordPress can parse some multiple URLs as the same page.
Hopefully this can help you.