Wordpress元查询按区域搜索(lat、lng)
我有区域(lat0,lat1,lng0,lng1)。为什么我的wp_查询不起作用Wordpress元查询按区域搜索(lat、lng),wordpress,Wordpress,我有区域(lat0,lat1,lng0,lng1)。为什么我的wp_查询不起作用 $new_query->query( array( 'post_type' => 'object', 'meta_query' => array( array( 'relation' => 'AND', array( 'key' => 'lat
$new_query->query( array(
'post_type' => 'object',
'meta_query' => array(
array(
'relation' => 'AND',
array(
'key' => 'lat',
'compare' => 'BETWEEN',
'value' => array($lat0, $lat1),
'type' => 'DECIMAL',
),
array(
'key' => 'lng',
'compare' => 'BETWEEN',
'value' => array($lng0, $lng1),
'type' => 'DECIMAL',
)
),
),
)
);
如果我使用:
array(
'key' => 'lat',
'compare' => '<=',
'value' => $lat0,
'type' => 'DECIMAL',
),
数组(
“键”=>“纬度”,
“比较”=>“=”,
“值”=>$lat0,
'type'=>'DECIMAL',
),
排列(
“键”=>“纬度”,
“比较”=>“已修复
global$wpdb;
$querystr=”
挑选*
从$wpdb->posts
内部连接$wpdb->postmeta m1
ON($wpdb->posts.ID=m1.post\u ID)
内部连接$wpdb->Posteta m2
ON($wpdb->posts.ID=m2.post\u ID)
内部连接$wpdb->postmeta m3
ON($wpdb->posts.ID=m3.post\u ID)
哪里
$wpdb->posts.post\u type='object'
和$wpdb->posts.post_status='publish'
和(m1.meta_键='lat'和m1.meta_值<$lat0)
和(m1.meta_键='lat'和m1.meta_值>$lat1)
和(m2.meta_键='lng'和m2.meta_值<$lng0)
和(m2.meta_键='lng'和m2.meta_值>$lng1)
和(m3.meta_键='city'和m3.meta_值=$city_字符串)
按$wpdb->posts.ID分组
按$wpdb->posts.post\u日期订购
描述;
";
$pageposts=$wpdb->get_结果($querystr,OBJECT);
已修复
global$wpdb;
$querystr=”
挑选*
从$wpdb->posts
内部连接$wpdb->postmeta m1
ON($wpdb->posts.ID=m1.post\u ID)
内部连接$wpdb->Posteta m2
ON($wpdb->posts.ID=m2.post\u ID)
内部连接$wpdb->postmeta m3
ON($wpdb->posts.ID=m3.post\u ID)
哪里
$wpdb->posts.post\u type='object'
和$wpdb->posts.post_status='publish'
和(m1.meta_键='lat'和m1.meta_值<$lat0)
和(m1.meta_键='lat'和m1.meta_值>$lat1)
和(m2.meta_键='lng'和m2.meta_值<$lng0)
和(m2.meta_键='lng'和m2.meta_值>$lng1)
和(m3.meta_键='city'和m3.meta_值=$city_字符串)
按$wpdb->posts.ID分组
按$wpdb->posts.post\u日期订购
描述;
";
$pageposts=$wpdb->get_结果($querystr,OBJECT);
array(
'relation' => 'AND',
array(
'key' => 'lat',
'compare' => '>=',
'value' => $lat0,
'type' => 'DECIMAL',
),
array(
'key' => 'lat',
'compare' => '<=',
'value' => $lat1,
'type' => 'DECIMAL',
)
),
global $wpdb;
$querystr = "
SELECT *
FROM $wpdb->posts
INNER JOIN $wpdb->postmeta m1
ON ( $wpdb->posts.ID = m1.post_id )
INNER JOIN $wpdb->postmeta m2
ON ( $wpdb->posts.ID = m2.post_id )
INNER JOIN $wpdb->postmeta m3
ON ( $wpdb->posts.ID = m3.post_id )
WHERE
$wpdb->posts.post_type = 'object'
AND $wpdb->posts.post_status = 'publish'
AND ( m1.meta_key = 'lat' AND m1.meta_value < $lat0 )
AND ( m1.meta_key = 'lat' AND m1.meta_value > $lat1 )
AND ( m2.meta_key = 'lng' AND m2.meta_value < $lng0 )
AND ( m2.meta_key = 'lng' AND m2.meta_value > $lng1 )
AND ( m3.meta_key = 'city' AND m3.meta_value = $city_string )
GROUP BY $wpdb->posts.ID
ORDER BY $wpdb->posts.post_date
DESC;
";
$pageposts = $wpdb->get_results($querystr, OBJECT);