Tuesday, 16 July 2013

Post by distance using "Post's custom Fields latitude & longitude " in wordpress

Just Copy the below query to find post on the basis of distance by using Post's custom field latitude & logitude.


"SELECT p.*, pm1.meta_value as lat, pm2.meta_value as lon, ACOS(SIN(RADIANS($lat))*SIN(RADIANS(pm1.meta_value))+COS(RADIANS($lat))*
COS(RADIANS(pm1.meta_value))*COS(RADIANS(pm2.meta_value)-RADIANS($long))) * 3959 AS distance FROM wp_posts p
INNER join wp_term_relationships on wp_term_relationships.object_id=p.id and wp_term_relationships.term_taxonomy_id= $catid
INNER JOIN wp_postmeta pm1 ON p.id = pm1.post_id AND pm1.meta_key = 'latitude'
INNER JOIN wp_postmeta pm2 ON p.id = pm2.post_id AND pm2.meta_key = 'longitude'
where post_status = 'publish'  having distance < 270
ORDER BY distance ASC "





No comments:

Post a Comment