我正在尝试获取存在geo\\u latitude和geo\\u latitude元数据(或不为null,不为空值)的帖子
所以基本上,从geo\\u latitude<;>\'\'的帖子中选择*和geo\\u经度<;>“”我一直在这样做,但我真的无法得到它们。
如何获取这些元条件子句?
$args = array(
//\'offset\' =>0,
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'post_type\' => \'custom_post_type\',
\'post_status\' => \'publish\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'tax_type\',
\'field\' => \'id\',
\'terms\' => $catArr
)
),
//\'meta_key=Date&meta_compare=>=&meta_value=_TODAYS_DATE_HERE_\'
\'posts_per_page\' => \'150\'
);
$marker = array();
$query1 = new WP_Query( $args );
while ( $query1->have_posts() ) : $query1->the_post();
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
简短的问题,它现在运行良好,但我只是想确定一下。
\'tax_query\' => array(
array(
\'taxonomy\' => \'tax_type\',
\'field\' => \'id\',
\'terms\' => $catArr
)
),
对于这个数组,我实际上需要在“tax\\u query”开始之前放置IF条件。如果($catArr)。。。。。
因为如果没有$catArr,我不需要比较。只要有美元现金就行了。
它现在正在运行,但我需要知道它是否正确。
谢谢
这是元查询。。
meta_query\' => array(
\'relation\' => \'OR\',
array(
\'key\' => \'_geo_latitude\',
// \'value\' => \'foo\',
// \'compare\' => \'LIKE\',
),
array(
\'key\' => \'_geo_longitude\',
)
),
但它得到了错误的结果。我需要获取是否有\\u geo\\u lation、\\u geo\\u longitude的值。
最合适的回答,由SO网友:Nicolai Grossherr 整理而成
关于你的第一个问题,因为$args
是一个PHP: array 您可以这样做:
Code:
$args = array(
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'post_type\' => \'custom_post_type\',
\'post_status\' => \'publish\',
\'posts_per_page\' => \'150\'
);
if ( $catArr ) {
$args[\'tax_query\'] = array(
array(
\'taxonomy\' => \'tax_type\',
\'field\' => \'id\',
\'terms\' => $catArr
)
);
}
注意:代码是示例
关于你的第二个问题meta_query
, 你应该看看这个: