循环访问CATA的POST并将CatB的值存储在单独的数组中

时间:2014-05-19 作者:user51859

自定义post类型“Wines”有两个类别:区域和;生产商。“葡萄酒”对一个地区和一个生产者都有价值。

我想循环浏览[类别=>地区,术语=>X]中的帖子,并在[类别=>制作人,术语=>?]中获取每个帖子各自的术语。

最终目标是遍历新创建的阵列,并:

删除重复的条目术语按字母顺序对术语进行排序,并在数组中循环,列出每个条目(生产者术语)的帖子(葡萄酒)/ul>我知道您可能会问,“为什么不直接去生产者档案库呢?”。。。我知道<该地区的档案需要显示按制作人类别中的术语排序的帖子列表。

非常感谢。

1 个回复
最合适的回答,由SO网友:aj-adl 整理而成

因此,根据您在评论中给我的信息,下面的要点应该与您对当前设置的描述一样有效。

https://gist.github.com/aj-adl/fab2cefd1450cbf24a5c

您为它提供一个区域,它将从一个区域获取所有帖子,循环并构建一个生产者数组,然后为每个生产者执行子查询和循环。

这绝对不是最有效的方法,我们必须到处乱动的主要原因是WordPress不允许你按分类法分组。

如果您将生产者更改为帖子的元值,而不是分类法,那么您可以在这个简单的查询中执行几乎相同的操作。。

$args = array(
    \'post_type\'  => \'wine\',
    \'orderby\'    => \'meta_value menu_order\',
    \'meta_query\' => array(
            array(
                \'key\'     => \'producer\',
                \'compare\' => \'EXISTS\',
            )
    ),
    \'tax_query\'   => array(
            array(
                \'taxonomy\' => \'region\',
                \'field\'    => \'slug\',
                \'terms\'    => $region_slug // your term here (the region)
            )
        ),
);
$wine_query = new WP_Query( $args );

// Then do your loop 
只要生产者价值发生变化,仍然可以很容易地插入标题部分(只需作为循环的一部分进行检查)

我使用了与您相同的插件来设置自定义字段-我的post\\u类型是“wine”,分类法中有“producer”和“region”。

结束

相关推荐

从WP_LIST_CATEGORIES中删除‘Category’一词

我有以下代码:wp_list_categories();它输出我的所有类别,但是,它使它们成为列表元素的子元素,称为CATEGORIES.所以,我得到了一个无序的列表,如下所示:CATEGORIES * FASHION * DAILY FASHION CANDY * TRENDS * BEAUTY * ACCESSORIES * CELEBRITIES * LIFESTYLE 但是,我只需要:* FASHION * DAILY FA