- 22, Oct 2024
- #1
Я хотел бы найти идентификатор сообщения на основе точного совпадения метазначений (может быть больше 1). Все примеры, которые я нашел, показывают поиск идентификатора сообщения по одному метазначению.
В моем примере я хотел бы передать массив значений и найти точное совпадение. Ниже приведено то, что у меня есть на данный момент: можно найти правильный идентификатор сообщения, но он не совпадает точно. Он возвращает идентификатор сообщения, если любой значений совпадают в массиве ниже. мне нужно, чтобы оно соответствовало все ценностей.
post_id meta_key meta_value 122 _some_meta_key 1 122 _some_meta_key 2 122 _some_meta_key 8
Согласно кодексу, post_id meta_key meta_value
122 _some_meta_key 1
122 _some_meta_key 2
122 _some_meta_key 3
Итак, если моя таблица wp_postmeta выглядела следующим образом, она должна соответствовать списку сообщений с идентификатором 122
Array support is limited to a compare value of 'IN', 'NOT IN', 'BETWEEN', or 'NOT BETWEEN'
Но нет если бы это выглядело так (нет 3)
// these values are dynamic, so multiple meta_query arrays are not an option
$array_of_values_to_match = array( '1', '2', '3' );
$args = array(
'post_type' => 'post',
'meta_query' => array(
array(
'key' => '_some_meta_key', // they all have the same meta_key
'value' => $array_of_values_to_match,
'compare' => 'IN' // can't use = when passing in an array
),
),
);
$posts = get_posts( $args );
#мета-запрос