我正在一个Wordpress网站上显示存储在自定义帖子类型中的大量项目。每个自定义帖子包括两个自定义字段(除其他外)“项目名称”和“项目颜色”。可能会有几个关于特定“项目名称”的自定义帖子。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'); ?>
...但我仍然有多个条目。