我向wp_usermeta
表格:
bid_user_lat
和bid_user_lng
我需要能够在一行中获得这两个值,以及user_id
.
ROW - (user_id) 220 | (bid_user_lat) 45.099080 | (bid_user_lng) -140.09099
现在是棘手的部分。。。然后,我需要在计算半径语句中使用这些值:
( 3959 * acos( cos( radians( @lat ) ) * cos( radians( **bid_user_lat.meta_value** ) ) * cos( radians( **bid_user_lng.meta_value** ) - radians( @lng ) ) + sin( radians( @lat ) ) * sin( radians( **bid_user_lat.meta_value** ) ) ) ) AS distance
最后,我会确保用户在某个半径范围内,如果是,我会在查询中返回它。
But the most important part is being able to query the wp_usermeta
the way I need to!
最合适的回答,由SO网友:Wyck 整理而成
您可以使用WP_User_Query
类,其工作方式非常类似WP_Query
.
文件:http://codex.wordpress.org/Class_Reference/WP_User_Query
下面是它将返回的WP\\U用户对象的转储,在本例中使用:
$wp_user_search = new WP_User_Query( array( \'fields\' => \'all_with_meta\' ) );
$get_users = $wp_user_search->get_results();
这应该为您确定正确的方向,因为不清楚新meta\\u键是如何设置的,也不清楚您希望如何运行查询。第二个问题与WordPress无关:)
如果您不想使用WP_User_Query
您必须使用$wpdb
哪个是更直接的mySQL查询。
可能是这样的:
global $wpdb;
$get_map_user = $wpdb->get_results("SELECT * from $wpdb->usermeta WHERE meta_key = \'bid_user_lat\'");
如果你有一个可能会更好
meta_key
使用2个长/纬度值,而不是2个元键。
http://codex.wordpress.org/Class_Reference/wpdb