Advertisement
Guest User

Untitled

a guest
Jul 28th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. /**
  2. * Validate IP Address For A Given User
  3. */
  4. add_filter( 'authenticate', function( $user )
  5. {
  6. // Adjust to your needs:
  7. $allowed_ip = '127.0.0.1';
  8. $ip_restricted_user_id = 1;
  9.  
  10. // Current user IP address
  11. $current_user_ip = isset( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : null;
  12.  
  13. // Nothing to do for valid IP address
  14. if( $current_ip === $allowed_ip )
  15. return $user;
  16.  
  17. // Nothing to do for users that are not IP restricted
  18. if(
  19. $user instanceof WP_User
  20. && $user->ID > 0
  21. && $ip_restricted_user_id != $user->ID
  22. )
  23. return $user;
  24.  
  25. // Add an 'Invalid IP address' error
  26. if( is_wp_error( $user ) )
  27. $user->add(
  28. 'invalid_ip',
  29. sprintf(
  30. '<strong>%s</strong>: %s',
  31. esc_html__( 'ERROR', 'mydomain' ),
  32. esc_html__( 'IP address is invalid.', 'mydomain' )
  33. )
  34. );
  35. // Create a new 'Invalid IP address' error
  36. else
  37. $user = new WP_Error(
  38. 'invalid_ip',
  39. sprintf(
  40. '<strong>%s</strong>: %s',
  41. esc_html__( 'ERROR', 'mydomain' ),
  42. esc_html__( 'IP address is invalid.', 'mydomain' )
  43. )
  44. );
  45.  
  46. return $user;
  47. }, 100 );
  48.  
  49. add_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );
  50. add_filter( 'authenticate', 'wp_authenticate_email_password', 20, 3 );
  51. add_filter( 'authenticate', 'wp_authenticate_spam_check', 99 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement