直接使用WP\\u查询,我认为这是不可能的,因为您需要WP\\u查询中的一些逻辑,它允许您说“如果primary\\u geo设置为NJ,那么查看NJ,或者如果设置为PA,那么查看PA”。
但是,您可以使用钩子更新存储“有效”地理字段的帖子上的一个新元值,即“primary\\u geo”指向的任何位置的值。您可以通过以下方式实现:
add_action(\'save_post\', \'update_geo_value\', 10, 2);
function update_geo_value($postID, $post) {
$primaryGeo = get_post_meta($postID, \'primary_geo\');
if ($primaryGeo == \'NJ\') {
$georesult = get_post_meta($postID, \'nj_field\');
} elseif ($primaryGeo == \'PA\') {
$georesult = get_post_meta($postID, \'pa_field\');
} else {
echo "This should probably never happen. Put some debug logging here!";
}
update_post_meta($postId, \'effective_geo_value\', $georesult);
}
Note this is example code and may need correction / changing values or code according to your use variables, etc.
因此,这样做的目的是将关于确定要使用哪个字段的逻辑移动到保存帖子时的位置,然后值“effective\\u geo\\u value”就是您需要的对应于NJ或PA的值。然后,您可以在WP\\U查询中使用effective\\u geo\\u value
post meta parameters注:
每次更新此帖子涉及的任何元值时,都需要更新此计算值!也就是说,如果物品出于某种原因从新泽西州移动到宾夕法尼亚州,你需要更新有效的_geo_值HTH