Third-party cookie will be blocked in future Chrome versions as part of Privacy Sandbox.
js?language=en®ion=us&key=AIzaSyAPY79kDChJh5UTISQ-yWrj1wR_h7B914M&libraries=places&v=quarterly&callback=wpslCallback:613
Google Maps JavaScript API has been loaded directly without loading=async. This can result in suboptimal performance. For best-practice loading patterns please see https://goo.gle/js-api-loading
bda @ js?language=en®ion=us&key=AIzaSyAPY79kDChJh5UTISQ-yWrj1wR_h7B914M&libraries=places&v=quarterly&callback=wpslCallback:613
(anonymous) @ js?language=en®ion=us&key=AIzaSyAPY79kDChJh5UTISQ-yWrj1wR_h7B914M&libraries=places&v=quarterly&callback=wpslCallback:14
(anonymous) @ js?language=en®ion=us&key=AIzaSyAPY79kDChJh5UTISQ-yWrj1wR_h7B914M&libraries=places&v=quarterly&callback=wpslCallback:815
(anonymous) @ js?language=en®ion=us&key=AIzaSyAPY79kDChJh5UTISQ-yWrj1wR_h7B914M&libraries=places&v=quarterly&callback=wpslCallback:815
js?language=en®ion=us&key=AIzaSyAPY79kDChJh5UTISQ-yWrj1wR_h7B914M&libraries=places&v=quarterly&callback=wpslCallback:552
As of February 21st, 2024, google.maps.Marker is deprecated. Please use google.maps.marker.AdvancedMarkerElement instead. At this time, google.maps.Marker is not scheduled to be discontinued, but google.maps.marker.AdvancedMarkerElement is recommended over google.maps.Marker. While google.maps.Marker will continue to receive bug fixes for any major regressions, existing bugs in google.maps.Marker will not be addressed. At least 12 months notice will be given before support is discontinued. Please see https://developers.google.com/maps/deprecations for additional details and https://developers.google.com/maps/documentation/javascript/advanced-markers/migration for the migration guide.
(anonymous) @ js?language=en®ion=us&key=AIzaSyAPY79kDChJh5UTISQ-yWrj1wR_h7B914M&libraries=places&v=quarterly&callback=wpslCallback:552
A @ wpsl-gmap.min.js?ver=2.2.241:1
E @ wpsl-gmap.min.js?ver=2.2.241:1
(anonymous) @ wpsl-gmap.min.js?ver=2.2.241:1
VM421 61874373745971:1
When we create a WP Store locator Store (cpt ‘wpsl_stores’), Yoast keeps complaining about “The text contains 0 words”. This isn’t true, our stores have a nice description and store locator uses the normal WordPress editor body-content field for storing the contents. All other WPSL fields are look readable by Yoast and the content analysis is working fine for all other post types like blogs and pages. Installed and tried the ACF Content analysis but still 0 words in the content. Do we need to change something in the settings of Yoast or does the Developer of WPSL need to change something in his plugin?
]]>Here’s some examples of nearby locations on store locators.
Question #1:
Can I limit nearby stores via custom text metadata fields in the store locations?
– NOT specific locations by text field (ie. Not Pharmacies, just grocery shopping, or just car dealers)
– not by categories since I’m not using this option
Question #2:
Also, how can I limit it to X nearby locations .. and max X distance away?
I think this would be a helpful feature for others in the upcoming release and/or a customization page in the documentation.
Thanks!
]]>I meet a bug where when i click on the “More info” link in the store listing, the store is seen correctly.
But if i zoom in, and select another store in the store listing by clicking “More info”, the map doesn’t show up properly, and go to a random point where there are no markers.
I don’t know how to solve this.
Thanks in advance
]]>It appears my functions for wpsl_sql and wpsl_sql_placeholder_values are incorrect.
In my functions.php, I’ve created:
add_filter('wpsl_sql', 'meeting_type_sql');
function meeting_type_sql()
{
global $wpdb, $wpsl_settings;
// Set a limit for the results and order them by distance.
if (isset($_GET['autoload']) && $_GET['autoload']) {
$limit = '';
if ($wpsl_settings['autoload_limit']) {
$limit = 'LIMIT %d';
}
$sql_sort = 'ORDER BY distance ASC ' . $limit;
} else {
$sql_sort = 'HAVING distance < %d ORDER BY distance ASC LIMIT 0, %d';
}
// Get Meeting Type Dropdown ID
if (isset($_GET['meeting_type']) && $_GET['meeting_type']) {
$filter_ids = array_map('absint', explode(',', $_GET['meeting_type']));
$mt_filter = "INNER JOIN $wpdb->postmeta AS post_meeting_type ON post_meeting_type.post_id = posts.ID AND post_meeting_type.meta_key = 'wpsl_meeting_type'";
$mt_meta_value = "AND meeting_type.meta_value LIKE 'In-person' OR 'Virtual'";
} else {
$mt_filter = '';
}
// The default query that selects store location that fall within the selected radius.
$sql = apply_filters(
'wpsl_sql',
"SELECT post_lat.meta_value AS lat,
post_lng.meta_value AS lng,
post_meeting_type.meta_value AS meeting_type,
posts.ID,
( %d * acos( cos( radians( %s ) ) * cos( radians( post_lat.meta_value ) ) * cos( radians( post_lng.meta_value ) - radians( %s ) ) + sin( radians( %s ) ) * sin( radians( post_lat.meta_value ) ) ) )
AS distance
FROM $wpdb->posts AS posts
INNER JOIN $wpdb->postmeta AS post_lat ON post_lat.post_id = posts.ID AND post_lat.meta_key = 'wpsl_lat'
INNER JOIN $wpdb->postmeta AS post_lng ON post_lng.post_id = posts.ID AND post_lng.meta_key = 'wpsl_lng'
INNER JOIN $wpdb->postmeta AS post_meeting_type ON post_meeting_type.post_id = posts.ID AND post_meeting_type.meta_key = 'wpsl_meeting_type'
WHERE posts.post_type = 'wpsl_stores'
AND posts.post_status = 'publish' $sql_sort"
);
return $sql;
}
and
add_filter('wpsl_sql_placeholder_values', 'meeting_type_sql_placeholder_values');
function meeting_type_sql_placeholder_values($placeholder_values)
{
$placeholder_values[] = $_GET['meeting_type'];
return $placeholder_values;
}
Here is my template
// Custom Filter: Meeting Type
$output .= "\t\t\t" . '<div id="wpsl-meeting-type" class="sl-filter-dropdown">' . "\r\n";
$output .= "\t\t\t\t" . '<label for="wpsl-meeting-type">' . esc_html('Meeting Type') . '</label>' . "\r\n";
$output .= "\t\t\t\t\t" . '<select autocomplete="off" name="wpsl-meeting-type" id="wpsl-meeting-type" class="wpsl-dropdown wpsl-custom-dropdown">' . "\r\n";
$output .= "\t\t\t\t\t\t" . '<option value="0">Any</option>';
$output .= "\t\t\t\t\t\t" . '<option value="In-person">In-person</option>';
$output .= "\t\t\t\t\t\t" . '<option value="Virtual">Virtual</option>';
//$output .= "\t\t\t\t\t\t" . $this->get_dropdown_list('meeting') . "\r\n";
$output .= "\t\t\t\t\t" . '</select>' . "\r\n";
$output .= "\t\t\t\t" . '</div>' . "\r\n";
$output .= "\t\t\t" . '</div>' . "\r\n";
The meta key for the meeting type in postmeta is wpsl_meeting_type.
I’d greatly appreciate any input on what might be causing the issue. I’ve reviewed the documentation as well as past posts that are attempting something similar, but there isn’t much available.
Thank you!
]]>Based on the location’s zip code or postal code (outside USA)?
Can we set a max limit on the search results? ie. Closest 6 locations nearby
Something like Amazon’s “Customers who viewed this item also viewed” or “Similar Items” carousels that scroll right-to-left.
I’m comfortable with code but no expert. If you can give me a head start that would be awesome.
Cheers ;}
Thanks for your help!
I have a problem with fixing the Directions starting point on map. On the first loading it’s all good, the Direction is calculated from the place that is taken from IP address. But if I type another place in search, then all the directions on store listing are calculated from that place and not from my starting point!
Is there a way to fix that direction is calculated always from the starting point, regardless of the search you do?
Thank you in advance!
]]>However, the field to enter the city or location is blocked out with an error. But there is no info or message to the error. Everything else is tested and works.
]]>