meta_value のグループ化に問題があります。クエリは、メタキー "company" を持つ投稿を探します。次のような色の一意のリストが必要です: 青 赤 黄
array_unique が成功せず、カスタム mysql クエリも失敗しました。
<?php
$args = array(
'category_name' => $cat_name,
'posts_per_page' => '60',
'paged' => $current_page,
'meta_query' => array(
array(
'key' => 'company',
'value' => 'microsoft',
'compare' => 'like'
)
)
);
$my_query = new WP_Query($args);
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;
?>
<?php echo get('color'); ?>
// Outputs yellow yellow blue yellow red yellow
<?php endwhile; ?>
現在の出力は次のとおりです。 黄 黄 青 黄 赤 黄
ありがとう。
編集:
助けてくれてありがとう!!!
これは最終的な作業コードです:
<?php
$current_page = (get_query_var('paged')) ? get_query_var('paged') : 1;
$cat_name = get_category(get_query_var('cat'))->name;
$args = array(
'category_name' => $cat_name,
'posts_per_page' => '60',
'paged' => $current_page,
'meta_query' => array(
array(
'key' => 'company',
'value' => 'microsoft',
'compare' => 'like'
)
)
);
$my_query = new WP_Query($args);
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;
$colors[] = get('color');
// Creates an array of all colors
endwhile;
$colors = array_unique($colors);
// Removes duplicates;
foreach($colors as $color){
echo $color.' ';
} ?>