JReviews logo Docs
Menu
Version

maps:user_geolocation

Filters the resolved user geolocation payload for map geo-targeting. Also fired via the legacy `Clickfwd\Hook` system as `user_geolocation` for V5 compatibility (the legacy call is slated for removal in V7).

Filter
MapsPro
Since 6.0.0

You need to have a working knowledge of Hooks before you get started.

Parameters

Name Type Description
$location array|false|null The location payload returned by the legacy geolocation filter, or false/null when no location has been resolved.
$ipaddress string|null The IP address used to resolve the user location.

Boilerplate Code

Use the boilerplate code to start using the filter, and add your own logic to modify the first argument and return it.

fwd_add_filter('maps:user_geolocation', function($location, $ipaddress)
{
    // Your code here
    
    return $location;
}, 20, 2);

The , 20, N after your callback are the hook priority and the number of arguments your callback accepts. By default, a hook passes your callback only its first argument; for a filter, that is the value being filtered, so a simple function($value) { ... } needs nothing extra. If your callback declares more parameters, such as function($value, $listing) { ... }, you must add N (the parameter count, 2 here). Because N is the fourth argument to fwd_add_filter() or fwd_add_action(), you must also pass the priority (20 is the default). Leaving these off when your callback expects extra parameters causes a Too few arguments to function ... fatal error.

Development & Support
Customizations are not included with support. We provide this information to make it easier for developers to extend the functionality. From time to time we may have some availability for custom work. Get in touch to see if there's an opportunity to work together.

Examples

Pass through the resolved geolocation payload

Inspect the resolved geolocation payload for the request IP address and return the value maps should use for geo-targeting.

fwd_add_filter('maps:user_geolocation', fn($location, $ipaddress) => $location, 20, 2);

Source Files

  • app/Actions/BuildMapConfigAction.php