我正在一个 Wordpress 网站上工作,该网站显示了许多存储在自定义帖子类型中的项目。每个自定义帖子包括两个自定义字段(其中包括)“项目名称”和“项目颜色”。可能有几个关于特定“项目名称”的自定义帖子。
我想为所有项目创建一个图例(一个键),其中列出了从上面的自定义字段值中获取的“项目名称”和“项目颜色”。
例如,我有 3 个项目名为“香蕉”,颜色为“黄色”,6 个项目名为“橙子”,颜色为“橙色”,4 个项目名为“苹果”,颜色为“绿色”。我的图例(键)应该显示一个黄色的香蕉,一个橙色的橙色和一个绿色的苹果。
当然,如果我使用循环,它会显示 3 个香蕉、6 个橙子和 4 个苹果。如何仅显示项目名称和项目颜色的列表?
我查看了三种方法,一种自定义分类法,检查数组中的重复项并GROUP BY
用作posts_groupby
.
GROUP BY
似乎是正确的方法,但我无法让它做任何事情。我得到的最远的是把它放在我的functions.php中......
function sort_legend ( $groupby ) {
global $wpdb;
$groupby .= "{$wpdb->postmeta}.meta_key = 'Color' ";
return $groupby;
}
...并将其用作我的 Query 对象周围的过滤器...
<?php add_filter('posts_groupby', 'sort_legend'); ?>
<?php if ( $myQuery->have_posts() ) while ($myQuery->have_posts() ) : $myQuery->the_post(); ?>
<?php remove_filter('posts_groupby', 'sort_legend'); ?>
...但我仍然有多个条目。