细节
行。所以我的帖子上有一个名为 Location 的自定义字段。该位置被地理编码为 LAT LNG 值。
我还有一个自定义字段供用户执行完全相同的操作。用户还可以定义以英里或公里为单位的半径。只有此范围内的帖子才会显示。
我可以通过获取帖子元数据(lat long)并将其与用户进行比较来计算我的 query_posts 循环中帖子 lat lng 和用户 lag lng 之间的距离。
如果我在循环内执行此操作并包装一个 if 语句,该语句基本上说如果小于半径显示帖子,我只会得到半径内的帖子。
问题
假设我添加了 5 个 posts_per_page 并且前 5 个要循环的帖子不在定义的半径内,它将显示 0 个帖子。如果前 3 个不在半径范围内,我将获得 2 个帖子。等等。
需要解决方案
1)显然,解决这个问题的最佳方法是在我的查询中。我可以使用 wp_query 和 query_posts,但是我不能 100% 确定如何运行我的 PHP 函数来计算用户和帖子 lat + lng 就在查询中的距离。
2) 如果我的 if 语句在 else 中没有满足,有没有办法将 query_posts post_per_page 增加 1?
结论
提前感谢任何对此有所了解的人。如果我没有提供足够的信息,请告诉我,我会尝试更清楚地解释。我可以发布代码,但我不寻找代码作为回报。只是方向正确的一点。
干杯!