我试图在WordPress中使用半正矢公式,使用自定义文章类型“商店”,自定义字段包含latitude
,longitude
和street_address
仅用于显示。我一直使用this tutorial作为指导。
这是我试图与值得查询...
SELECT wp_posts.ID,
wp_posts.post_title,
pm1.meta_value as address,
pm2.meta_value as latitude,
pm3.meta_value as longitude, ( 6371 * acos( cos( radians(37) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(-122) ) + sin( radians(37) ) * sin( radians( latitude ) ) ) ) AS distance
FROM wp_posts
LEFT JOIN wp_postmeta AS pm1 ON (wp_posts.ID = pm1.post_id AND pm1.meta_key='street_address')
LEFT JOIN wp_postmeta AS pm2 ON (wp_posts.ID = pm2.post_id AND pm2.meta_key='latitude')
LEFT JOIN wp_postmeta AS pm3 ON (wp_posts.ID = pm3.post_id AND pm3.meta_key='longitude')
WHERE wp_posts.post_type = 'stores'
AND wp_posts.post_status = 'publish'
HAVING distance < 25
ORDER BY distance
LIMIT 0 , 20
但这个回来了...
Unknown column 'latitude' in 'field list'
我也尝试过使用query here的一个变体,但是我得到了关于“未知列”的相同错误。
任何建议都非常感谢!
2条答案
按热度按时间fykwrbwg1#
尝试在公式中使用原始列名而不是新别名,如
latitude =>pm2.meta_value
和latitude=>pm3.meta_value
编辑
pdsfdshx2#
假设您有一个名为
listings
的自定义帖子类型,并且您已经为lat/lngq_loc_map_lat
q_loc_map_lng
添加了 meta值,并且正在从googleMaps API嵌入式搜索表单将一些搜索变量传递到url中...