Revision: 70519
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 23, 2016 16:08 by JoshChris
Initial Code
$latitude = '30.050000';
$longitude = '-100.025000';
$query = "
SELECT ID, post_title,
(
(
(
acos(
sin(
(".$latitude."*pi()/180)
) * sin(
(latitude.meta_value*pi()/180)
) + cos(
(".$latitude."*pi()/180)
) * cos(
(latitude.meta_value*pi()/180)
) * cos(
(
(".$longitude."- longitude.meta_value)*pi()/180
)
)
)
)*180/pi()
)*60*1.1515
) AS distance
FROM $wpdb->posts
INNER JOIN $wpdb->postmeta latitude
ON (ID = latitude.post_id AND latitude.meta_key = 'latitude')
INNER JOIN $wpdb->postmeta longitude
ON (ID = longitude.post_id AND longitude.meta_key = 'longitude')
ORDER BY distance
LIMIT 0,50;
";
$posts = $wpdb->get_results($query, OBJECT);
Initial URL
Initial Description
A quick query example for a wordpress database query that gets posts ordered by distance via the custom fields `latitude` and `longitude`.
Initial Title
Wordpress Query: Sort posts nearest proximity to farthest
Initial Tags
wordpress
Initial Language
PHP