如何挂钩WP_Query以支持邻近/位置搜索?

问题描述

我有一个网站,上面贴有经度和纬度标签,我希望能够使用haversine公式在各个地方按与用户的距离向用户显示这些帖子。

实际上,进行地理搜索不是问题-我已经找到了很好的资源来了解如何使用原始$wpdb查询like this one来完成地理搜索

我苦苦挣扎的一点是如何挂钩WP_Query并使其识别位置参数并触发距离排序。

我希望能够以类似于现有tax_queryMeta_query的方式编写代码,例如:

new WP_Query(array(
    "location_query" => array(
        "longitude" => 0,"latitude" => 0
    )
))

...并将返回的结果按位置排序,但不受影响(例如,应遵守分页分类法和其他参数)。

我想我需要做类似的事情:

function handle_location_search($query) {
    if ( array_key_exists("location_query",$query->query_vars) ) {
        // what Now?
    }
}
add_action( 'pre_get_posts','handle_location_search' );

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)