function wp_localize_community_events() { if ( !
wp_script_is( 'dashboard'
) ) { return;
} require_once ABSPATH . 'wp-admin/includes/class-wp-community-events.php';
$user_id =
get_current_user_id();
$saved_location =
get_user_option( 'community-events-location',
$user_id );
$saved_ip_address =
isset( $saved_location['ip'
] ) ?
$saved_location['ip'
] : false;
$current_ip_address = WP_Community_Events::
get_unsafe_client_ip();
/*
* If the user's location is based on their IP address, then update their
* location when their IP address changes. This allows them to see events
* in their current city when travelling. Otherwise, they would always be
* shown events in the city where they were when they first loaded the
* Dashboard, which could have been months or years ago.
*/
if ( $saved_ip_address &&
$current_ip_address &&
$current_ip_address !==
$saved_ip_address ) { $saved_location['ip'
] =
$current_ip_address;
update_user_meta( $user_id, 'community-events-location',
$saved_location );
}