查询、存储和使用来自两种不同自定义帖子类型的数据
我有2个CPT:期限和地点
在我的查询中,我需要从两个CPT获取信息。
对于CPT“期限”;我需要知道它是否处于“活动”状态,如果是,则需要知道post\\u title()。对于CPT;\'Location“我需要知道它是否处于活动状态”,如果处于活动状态,则需要知道post\\u title()。
不仅如此,如果有多个“位置”,我需要显示所有位置(如果它们处于活动状态)。
有没有办法对付这只野兽?
下面是查询(后面是循环html将显示的流以供参考)-但它完全不起作用:
$centre_type = get_field(\'site_primary_centre_type\', \'option\');
$args = array(
\'post_type\' => array(\'gym_location\', \'gym_term\'),
\'orderby\' => \'title\',
\'order\' => \'DESC\',
\'meta_query\' => array(
array(
\'key\' => array(\'term_active\', \'location_active\'),
\'value\' => \'1\',
\'compare\' => \'==\'
)
)
);
$query = new WP_Query( $args );
if($query->have_posts()) : while ( $query->have_posts() ) : $query->the_post();
<h5>term_title Timetable</h5>
if ((1 location) && (location && term == active)) :
[wcs location="location_title" term="term_title" style="responsive"]
else
if ((more than 1 location) && (location && term == active)) :
[su_tabs][su_tab title="location_title <?php echo $centre_type; ?>"]
[wcs location="location_title" term="term_title" style="responsive"]
[/su_tab]
[/su_tabs]
<?php endwhile; endif; // end of query ?>
SO网友:kingkool68
遗憾的是,对于自定义字段查询,不能将数组用于多个键。你想要的是这样的:
$args = array(
\'post_type\' => array(\'gym_location\', \'gym_term\'),
\'orderby\' => \'title\',
\'order\' => \'DESC\',
\'meta_query\' => array(
array(
\'key\' => \'term_active\',
\'value\' => \'1\',
\'compare\' => \'==\'
),
array(
\'key\' => \'location_active\',
\'value\' => \'1\',
\'compare\' => \'==\'
),
\'relation\' => \'OR\',
)
);
请参见
https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters