wp_query에 대한 동적 인수 세트를 작성하려고하지만 실제로이 문제가 발생했습니다.가변 인수 개수가있는 wp_query
$args = array(
'numberposts' => -1,
'posts_per_page' => -1,
'post_type' => 'skills',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'years',
'value' => 'Primary',
'compare' => 'LIKE'
),
array(
'key' => 'years',
'value' => 'Secondary',
'compare' => 'LIKE'
)
)
);
// get results
$the_query = new WP_Query($args);
아이디어는 형태로 사용자 입력의 결과에 따라, 내 meta_query 값 조항의 수를 변경할 것입니다 ... (작업을 수행하는) 다음 예제 코드를 가져 가라. 위의 코드에는 두 가지 옵션이 있지만 입력에 따라 3 또는 다른 시간이 5 일 수 있습니다.
$ args의 외부에서 이러한 내부 배열 요소를 컴파일하려고했습니다. 다음 코드에서 $ inputArray는 문자열 요소의 단일 차원 배열이라고 가정합니다. 테스트는 다음과 같이 보입니다 :
$inputArray=array();
if (is_array($yearsArray)){
foreach($yearsArray as $year) {
$inputArray[]=array('key' => 'years','value' => $year,'compare' => 'LIKE');
}
}
// args
$args = array(
'numberposts' => -1,
'posts_per_page' => -1,
'post_type' => 'skills',
'meta_query' => array(
'relation' => 'OR',
$inputArray
)
);
그러나 메타 쿼리 쿼리가 적용되지 않은 것처럼 쿼리가 실행됩니다.
또한 wp_parse_args 함수를 사용하여 여러 개의 meta_queries를 병합하려고했지만 값을 덮어 쓰고 마지막 것이 사용 된 것으로 보입니다. 이 모양은 다음과 같습니다.
// args
$args = array(
'numberposts' => -1,
'posts_per_page' => -1,
'post_type' => 'skills'
);
$args2 = array(
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'years',
'value' => 'Secondary',
'compare' => 'LIKE'
)
)
);
$args3 = array(
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'years',
'value' => 'Primary',
'compare' => 'LIKE'
)
)
);
$args=wp_parse_args($args,$args2,$args3);
이렇게 여러 가지 방법을 시도했지만 아무도 작동하지 않습니다. 아무도 도와 줄 수 있습니까?