詳細
Ok。そのため、投稿に Location というカスタム フィールドがあります。この場所は、LAT LNG 値にジオコーディングされます。
まったく同じことを行うユーザー用のカスタム フィールドもあります。ユーザーは、半径をマイルまたはキロメートルで定義することもできます。この半径内の投稿のみが表示されます。
投稿のメタデータ(lat long)を取得し、それをユーザーと比較することで、query_posts ループ内の投稿の緯度経度とユーザーの経度経度の間の距離を計算できます。
これをループ内で実行し、if ステートメントをラップすると、基本的に半径が表示ポストよりも小さい場合、半径内のポストのみが取得されます。
問題
5 の posts_per_page を追加し、ループする最初の 5 つの投稿が定義された半径内になく、0 件の投稿が表示されるとしましょう。最初の 3 つが半径内にない場合、2 つの投稿が取得されます。等々。
解決策が必要
1)明らかに、これを行う最善の方法は、クエリ内にあります。wp_query と query_posts を使用しても問題ありませんが、PHP 関数を実行してユーザーと投稿の間の距離を計算する方法が 100% わかりません。
2) if ステートメントが else 内で満たされない場合、query_posts post_per_page を 1 増やす方法はありますか?
結論
これについて何らかの洞察を持っている人には、事前に感謝します。十分な情報を提供していない場合はお知らせください。より明確に説明できるよう努めます。私はコードを投稿できましたが、見返りにコードを探していません。正しい方向へのポイントです。
乾杯!