我需要查询post元字段,通过多个复选框进行筛选
当前,在提交表单时,查询仅适用于第二个参数(人员)。
如何使用两个参数进行筛选?
HTML(表单提交)
<input type="checkbox" id="inlineCheckbox1" name="category[]" value="Planet">
<input type="checkbox" id="inlineCheckbox2" name="category[]" value="People">
PHP(搜索) $category = $_GET[\'category\'];
$category_planet = $category[0];
$category_people = $category[1];
$argsearch = array();
$argsearch["post_type"] = "projects";
$argsearch[\'showposts\'] = -1;
if( $advtext!="" ){
$advtxtQuery ="select ID from $wpdb->posts
LEFT JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id where {$wpdb->posts}.post_status = \'publish\' ";
$where =" (( post_typs LIKE \'projects\') AND ( post_title LIKE \'%".$advtext."%\')) ";
$where .=" AND ( $wpdb->postmeta.meta_key = \'_cmb_project_category\' AND $wpdb->postmeta.meta_value LIKE \'%".$advtext."%\')";
$mypostids = $wpdb->get_col($advtxtQuery." AND ( ".$where." )" );
if(count($mypostids)>0){
$argsearch[\'post__in\']=$mypostids;
}else{
$argsearch["s"] = $advtext;
}
}
if( $category_planet!="" ){
if(!isset($argsearch["meta_query"])){
$argsearch["meta_query"] = array();
}
$argsearch["meta_query"][] = array(
\'key\' => \'_cmb_project_category\',
\'value\' => $category_planet,
\'compare\' => \'LIKE\'
);
}
if( $category_people!="" ){
if(!isset($argsearch["meta_query"])){
$argsearch["meta_query"] = array();
}
$argsearch["meta_query"][] = array(
\'key\' => \'_cmb_project_category\',
\'value\' => $category_people,
\'compare\' => \'LIKE\'
);
}
global $wp_query, $post,$wpdb;
$query = new WP_Query($argsearch);
while($query->have_posts()):
$query->next_post();
$project_list = $query->post->ID;
?>