在我的下面的代码中,我试图检查$query['skill']
中是否包含$c_skills
值。然而它一直在失败。当我使用我正在寻找的实际字符串时,例如"test"
然后它按预期运行。我唯一的想法是$query['skill']
可能不会以字符串形式返回,但我无法找到var_dump
,因为我正在使用wordpress而我正在更改代码以实现ajax查询。
global $user_ID;
$query = $_REQUEST['query'];
if (isset($_REQUEST['query']['skill'])) {
if (isset($query['skill']) && $query['skill'] != '') {
global $wp_query, $ae_post_factory, $post, $current_user;
$post_object = $ae_post_factory->get(PROFILE);
$profile_id = get_user_meta( $user_ID, 'user_profile_id', true);
$profile = array('id' => 0, 'ID' => 0);
if($profile_id) {
$profile_post = get_post( $profile_id );
if($profile_post && !is_wp_error( $profile_post )){
$profile = $post_object->convert($profile_post);
}
}
$current_skills = get_the_terms( $profile, 'skill' );
if (!empty($current_skills)) {
$c_skills = array();
foreach ($current_skills as $key => $value) {
$c_skills[] = $value->name;
};
if(in_array( $query['skill'], $c_skills )) {
$query_args['tax_query'] = array(
'skill' => array(
'taxonomy' => 'skill',
'terms' => 'test',
'field' => 'slug'
)
);
}
}
答案 0 :(得分:0)
我认为您的问题来自$query_args['tax_query']
。
对我来说,Key(技能)在这里无关。
尝试使用
简化$query_args['tax_query'] = array(
array(
'taxonomy' => 'skill',
'terms' => 'test',
'field' => 'slug'
)
);
如果要查询多个分类,则可以将两个数组之间用于技能的位置用于关系。
希望它能在此之后起作用。