3

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.' ';
} ?>
4

1 に答える 1

3
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;
}
于 2013-07-10T09:31:07.767 に答える