我有两个元键,经度和纬度,我试图做的是在wp\\U查询中,与google store location算法的距离等效:
选择id,(3959*acos(cos(弧度(37))*cos(弧度(lat))*cos(弧度(lng)-弧度(-122))+sin(弧度(37))*sin(弧度(lat)))作为与具有距离的标记的距离<;25按距离限值0、20排序;
我想做的是获取一个自定义帖子类型(商店)列表,其中包含long/lat(自定义字段),并具有x距离(这是针对商店定位器的,如谷歌的示例)。
我已经用$wpdb-way完成了这项工作,但我正在寻找一个wp\\u查询,因为我希望通过在页面中使用/删除add\\u filter()指令来进行分页和额外过滤。是否有可能执行如此复杂的查询,或者我应该坚持使用$wpdb方法?
最合适的回答,由SO网友:Mridul Aggarwal 整理而成
你可以这样做。WP\\u Query中有一些可用的过滤器,允许您根据需要修改查询。过滤器posts_clauses
一起过滤查询的所有部分。还有一些特定于查询部分的过滤器。了解它们的最好方法是搜索posts_clauses
在“wp includes/query.php”中。此过滤器前的3-4行应该是一系列过滤器,以逐部分过滤出完整的查询。过滤器标签是不言自明的&;你可以尝试一下,看看哪种组合最适合你