【发布时间】:2020-11-10 22:07:27
【问题描述】:
我有一个 WordPress 网站,当一些用户填写表格时,我想找到离他最近的 3 个用户并向他们发送电子邮件。
我认为在不编辑主题的情况下使用 WordPress 是不可能的,而且我对 WordPress 没有太多经验。
所以我使用自定义 PHP(不在 WordPress 中)创建了一个表单,它可以访问 WordPress 数据库,我正在尝试选择离用户位置最近的 3 个用户。
对于当前用户,我有邮政编码、城市、地址,对于其他用户,我有存储在数据库中的邮政编码、地址、纬度和经度,并由 WordPress 序列化。
我已经搜索了如何执行此操作并找到了 Haversine 公式。但它需要有纬度和经度值。
如何从这个 wp_postmeta 表中提取纬度和经度以获取最近的用户?
+------------------------------------------+
meta_id | post_id | meta_key | meta_value
+------------------------------------------+
12 | 25 | lp_options | a:32:{s:12:"tagline_text";s:36:"Legendary sushi maestro in your town";s:8:"gAddress";s:47:"86 East Pine Street, Seattle, WA, United States";s:8:"latitude";s:10:"47.6152846";s:9:"longitude";s:19:"-122.30498549999999";s:6:"mappin";s:0:"";s:5:"phone";s:14:"(206) 441-8844";s:8:"whatsapp";s:0:"";s:5:"email";s:27:"codewithdeveloper@gmail.com";s:7:"website";s:24:"http://sushikashiba.com/";s:7:"twitter";s:19:"https://example.com";s:8:"facebook";s:19:"https://example.com";s:8:"linkedin";s:19:"https://example.com";s:7:"youtube";s:19:"https://example.com";s:9:"instagram";s:19:"https://example.com";s:5:"video";s:43:"https://www.youtube.com/watch?v=oMxLKOv_3t0";s:7:"gallery";s:0:"";s:12:"price_status";s:14:"ultra_high_end";s:10:"list_price";s:0:"";s:13:"list_price_to";s:0:"";s:7:"Plan_id";s:1:"0";s:16:"lp_purchase_days";s:0:"";s:11:"reviews_ids";s:0:"";s:15:"claimed_section";s:11:"not_claimed";s:26:"listings_ads_purchase_date";s:0:"";s:30:"listings_ads_purchase_packages";s:0:"";s:4:"faqs";a:2:{s:3:"faq";a:2:{i:1;s:11:"Specialties";i:2;s:7:"History";}s:6:"faqans";a:2:{i:1;s:153:"Legendary sushi maestro, Chef Shiro Kashiba brings his authentic and innovative Edomae style of sushi and acclaimed Japanese cuisine to downtown Seattle.";i:2;s:226:"Chef Shiro Kashiba started Seattle's first sushi bar in 1970 after years of grueling training alongside world renown sushi chef Jiro Ohno in Tokyo. Chef Shiro Kashiba introduced his masterpiece, Sushi Kashiba in December 2015.";}}s:14:"business_hours";a:6:{s:6:"Monday";a:2:{s:4:"open";s:7:"02:00pm";s:5:"close";s:7:"11:00pm";}s:7:"Tuesday";a:2:{s:4:"open";s:7:"02:00pm";s:5:"close";s:7:"11:00pm";}s:9:"Wednesday";a:2:{s:4:"open";s:7:"02:00pm";s:5:"close";s:7:"11:00pm";}s:8:"Thursday";a:2:{s:4:"open";s:7:"02:00pm";s:5:"close";s:7:"11:00pm";}s:8:"Saturday";a:2:{s:4:"open";s:7:"02:00pm";s:5:"close";s:7:"11:00pm";}s:6:"Sunday";a:2:{s:4:"open";s:7:"02:00pm";s:5:"close";s:7:"11:00pm";}}s:11:"campaign_id";i:93;s:14:"changed_planid";s:0:"";s:19:"listing_reported_by";s:0:"";s:16:"listing_reported";s:0:"";s:13:"business_logo";s:0:"";
【问题讨论】:
-
你的meata值好像不是json,所以是手工制作的,你知道ow it os build,再拆分一下。见stackoverflow.com/questions/3653462/…
-
元值由WordPress存储
-
@nbk 通过使用
maybe_unserialize()将其转换为数组 -
有人提出结束这个问题,因为它“缺乏细节”。恕我直言,我不同意。我修正了它的标题,因为它使问题看起来像地理问题,而不是数据序列化问题。除此之外,任何了解 WordPress 内部的人都非常清楚这个问题。
标签: php mysql wordpress post-meta