- 19, Oct 2024
- #1
У меня возникли трудности с запуском этой функции. У меня происходит то, что информация о конкретных предметах одежды создается в пользовательском типе сообщения «Наряд». Я сделал это потому, что многие классы имеют одинаковые предметы одежды, поэтому проще создать один предмет одежды, а затем распределить его по разным классам. Пользовательские поля для одежды хранятся следующим образом:
function get_class_attire($id){ $all_attire = array(); $args = array( 'post_type' => 'attire', 'meta_query'=>array( array( 'key' => 'assign-classes', 'value' => $id, 'compare' => 'IN' ), ), 'numberposts' => -1, ); $the_query = get_posts($args); foreach ( $the_query as $post ) : setup_postdata( $post ); $this_attire = array( 'attire-id' => $post->ID, 'cat' => get_post_meta($post->ID, 'attire-category', true), 'gender' => get_post_meta($post->ID, 'gender', true), 'assign-classes' => get_post_meta($post->ID, 'assign-classes', true), 'attire-name' => get_the_title($post->ID) ); array_push($all_attire, $this_attire); endforeach; wp_reset_postdata(); return $all_attire; }
В разделе «assign-classes» хранятся идентификаторы различных классов, которым требуется этот конкретный элемент одежды. Когда класс появляется на веб-странице, я хочу выполнить специальный запрос, чтобы получить только те предметы одежды, идентификатор класса которых хранится в этих «назначенных классах».
Это функция, которая не работает.
[9] => Array
(
[attire-id] => 5680
[cat] => Leotard
[gender] => girl
[assign-classes] => Array
(
[0] => 5576
[1] => 5577
)
[attire-name] => Lilac Skirt Eurotard 10127
)
Я чувствую, что проблема в том, что когда он идет на проверку, он просто видит Array для всех значений «назначить классы», а затем ничего не возвращает. Я не уверен, как заставить его просматривать значения в массиве для сравнения.
#пользовательские-типы-сообщений #мета-запрос