首页 > 解决方案 > PHP,Wordpress 查询,将匹配结果合并为 1

问题描述

我正在 Wordpress 中运行查询,以从自定义帖子类型中获取发言人列表。我只需要返回每个演讲者的一个实例,即使演讲​​者可能会多次显示为自定义帖子类型的元数据。

例如,如果我查询并返回这样的列表:Bob,Bob,Bob,John,Sally,Bob,Bob,John,Bob

我希望它是:鲍勃、约翰、莎莉

我不确定如何使用 PHP 对所有匹配的结果进行分组。

这是我的查询:

global $post;
  $args = array (
    'post_type' = 'event',
    'posts_per_page' = -1,
    'post_status' => 'publish',
    'fields' => 'ids',
    'meta_query' => array (
      'relation' => 'AND'
      array (
        'key' => 'pt_eventSpeakerType',
        'value' => 'Lead Speaker',
        'compare' => '=',
      ),
    ),
  );
$posts = get_posts($args);
if($posts) :
  foreach($posts as $post):setup_postdata($post);
    echo get_post_meta($post->ID, 'pt_eventSpeaker' true).'<br>';
  endforeach;
endif;
wp_reset_postdata();

任何帮助表示赞赏!

标签: phpwordpress

解决方案


根据您的描述,我假设您没有正确创建 SQL 查询。方法get_posts($args);可能没有返回不同的结果,这可能是您的重复值的问题。我希望它有所帮助。


推荐阅读