Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wordpress获取用户指定范围内的帖子_Wordpress_Geocoding - Fatal编程技术网

wordpress获取用户指定范围内的帖子

wordpress获取用户指定范围内的帖子,wordpress,geocoding,Wordpress,Geocoding,详细信息 嗯。因此,我的帖子上有一个名为Location的自定义字段。该位置被地理编码为LAT LNG值 我还为用户提供了一个自定义字段,用于完成完全相同的任务。用户还可以以英里或公里为单位定义半径。只有在这个半径内的柱子才会出现 我可以通过获取posts元数据(lat long)来计算posts lat lng和query_posts循环中用户lag lng之间的距离,并将其与用户进行比较 如果我在循环中这样做,并包装一个If语句,它基本上表示If小于radius display post,那

详细信息

嗯。因此,我的帖子上有一个名为Location的自定义字段。该位置被地理编码为LAT LNG值

我还为用户提供了一个自定义字段,用于完成完全相同的任务。用户还可以以英里或公里为单位定义半径。只有在这个半径内的柱子才会出现

我可以通过获取posts元数据(lat long)来计算posts lat lng和query_posts循环中用户lag lng之间的距离,并将其与用户进行比较

如果我在循环中这样做,并包装一个If语句,它基本上表示If小于radius display post,那么我只得到半径内的post

问题
假设我每5页添加一篇文章,循环的前5篇文章不在定义的半径内,它将显示0篇文章。如果前3个不在半径范围内,我将得到2个职位。等等

需要解决方案

1) 显然,最好的解决方法是在我的查询中。我可以使用wp_query vs query_posts,但是我不能100%确定如何运行我的PHP函数来计算用户和posts之间的距离lat+lng就在查询中

2) 如果在else中未满足我的if语句,是否有办法将每页的查询帖子数增加1

结论

提前感谢任何对此有见解的人。如果我没有提供足够的信息,请让我知道,我会尽量解释得更清楚。我可以发布代码,但我不寻找代码作为回报。只是方向正确的一点


干杯

是否简单到不指定要返回的帖子数量,如果帖子不符合您的地理位置要求,则跳过循环迭代

但是我想如果有很多帖子的话,这可能会表现得很糟糕


这看起来像是如何在查询中执行的:

这是我的最后一个查询。这正是我需要它做的。我在数据库中创建了一个自定义表来存储帖子的lat和lng信息,而不是将它们添加到post meta表中,这样我就可以加入2并获得帖子到用户的距离。任何问题请告诉我:)

$querystr='1〕
选择*,
(((((“$userLat.'*pi()/180))*sin((lat*pi()/180))+cos((“$userLat.'*pi()/180))*cos((lat*pi()/180))*cos(((“$userLng.-lng)*pi()/180))*180/pi()*60*1.1515)作为距离
来自wp_站、tbl_站和lat_lng站
其中wp_posts.ID=tbl_post_lat_lng.post_ID
和wp_posts.post_status=“发布”
和wp_posts.post_type=“post”

距离如果任何人需要通过距离半径进行过滤,那么你可以查看此帖子

在重读你的问题时,我认为你已经忽略了这个解决方案,说“显然最好的解决方法是在我的查询中”。如果你让我知道你的意思,我会删除我的答案。同时,我会做一些关于如何在查询中实现它的研究-但不要对我的解决方案屏住呼吸,因为听起来你在WP方面比我更先进。你看到了吗?你完全正确。这只是建立这种联系的问题。现在我正在通过PHP计算循环后的距离。我想我已经在MYSQL内部找到了一种实现这一点的方法作为
distance
FROM
members
distance
链接很棒!应该可以帮我找到一个基调。这个问题可能更适合现在,2020年,有没有一种方法可以做到这一点,而不必求助于外部查找表?实际上,有以下几种方法: