我有一个json文件,其中包含自定义分类的数据。 然后我需要过滤那个..我对postmeta链接和其他字段没有任何问题。但我不能把这个类别变成json。然后无法过滤。
我知道答案必须非常简单,但我无法弄清楚2天。
function getItems( $meta_query ) {
$params = array(
'post_type' => 'property',
'nopaging' => true,
'post_status' => 'publish',
'meta_query' => array(),
$meta_query = array('meta_query'=>array(), 'relation' => 'AND');
if (!empty($_POST['city']))
{
$params['meta_query'][] =array(
'key' => 'property_city',
'value' => $_POST['city'],
'compare' => 'LIKE'
);
}
if(!empty($_POST['parish']))
{
$params['meta_query'][] = array(
'key' => 'property_state',
'value' => $_POST['parish'],
'compare' => 'LIKE'
);
}
//..................ETC..........................
我现在所拥有的类别:
//if (!empty($_POST['category']))
/*{
$params['meta_query'][] = array(
'taxonomy' => 'pcategory',
'field' => 'slug',
'terms' => $_POST['category']->slug
);
}*/
$itemsQuery = new WP_Query();
$properties = $itemsQuery -> query($params);
// add property details
foreach ($properties as $key => $property) {
// options
$property->optionsDir = get_post_meta($property->ID, 'property', true);
$city = get_post_meta($property->ID, 'property_city', true);
$parish = get_post_meta($property->ID, 'property_state', true);
$link = get_permalink($property->ID);
$category = get_the_terms($property->ID,'pcategory' );
$properties[$key]->link = array(
'link' => $link,
);
//postmeta
$properties[$key]->postmeta = array(
'city' => $city,
'parish' => $parish,
'region' => $region,
'link' => $link,
'category' => $category,
);
}
return $properties;
}
答案 0 :(得分:0)
$category = get_the_terms($property->ID,'pcategory' );
上面的代码将返回所有细节,例如term id,name,slug等有关该术语的信息,作为数组对象。
您需要提取所需的详细信息。
此外," pcategory"是自定义分类法。
因此,在下面的代码中,
$properties[$key]->postmeta = array(
'city' => $city,
'parish' => $parish,
'region' => $region,
'link' => $link,
'category' => $category,
);
'类别'将不会被正确解释,因为它是自定义分类法而不是默认的wordpress分类法。
如果将这些参数发送到WP_Query(),您可以提及' tax_query'如下所示,
'tax_query' => array(
array(
'taxonomy' => 'pcategory',
'field' => 'slug',
'terms' => 'demo'
)
在这里,"演示"是自定义分类的示例slug。
甚至,单个帖子可以有多个与之关联的类别。因此,您需要提取所需的类别详细信息。
在'tax_query'你也可以指定" term_id"或其他细节。