Skip to content

Instantly share code, notes, and snippets.

@tarikcayir
Created January 11, 2017 21:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tarikcayir/030ea2a1dc30b63a00d7a63b88e9d64a to your computer and use it in GitHub Desktop.
Save tarikcayir/030ea2a1dc30b63a00d7a63b88e9d64a to your computer and use it in GitHub Desktop.
// Get user IP in WordPress
function get_the_user_ip() {
if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
//check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
//to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return apply_filters( 'wpb_get_ip', $ip );
}
function search_visitor_ip_block($query) {
// Visitor search limit
$visitorIPLimit = 20;
$visitorIPCount = get_option( 'visitor_ip_count'.get_the_user_ip() );
$visitorIPCount += 1 ;
update_option( 'visitor_ip_count'.get_the_user_ip(), $visitorIPCount );
if ( $query->is_search ) {
if( $visitorIPCount >= $visitorIPLimit){
wp_die('Sakin ol şampiyon?');
}
}
return $query;
}
//hook filters to search
add_filter('pre_get_posts','search_visitor_ip_block');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment