列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

时间:2012-05-09 作者:mathiregister

这可能很难解释,我不知道是否有解决办法!?

我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。

就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。

现在我的问题是:

当我使用我的自定义wr_list_taxonomy() 函数它列出所有与post关联的分类法。就像wp_list_categories() 仅列出与帖子关联的类别。如果有一个分类术语没有帖子,它就不会被列出。

我想知道,如果所有与之相关的帖子都有一个event_date 这已经发生了。

听起来很复杂对吧?

所以我有这个功能,就像一个符咒。

function wr_list_taxonomy($taxonomy, $orderby, $hierarchical) {
    $show_count   = 0;
    $pad_counts   = 0;
    $title        = \'\';

    $args = array(
      \'taxonomy\'     => $taxonomy,
      \'orderby\'      => $orderby,
      \'show_count\'   => $show_count,
      \'pad_counts\'   => $pad_counts,
      \'hierarchical\' => $hierarchical,
      \'title_li\'     => $title
    );

    return wp_list_categories( $args );
}
它列出了所有的术语,并且仅当其中有帖子时才列出它们。然而,我在所有分类术语中都有帖子(“我的情况下是事件”),但也有其事件全部结束的术语。

如果一个术语中的“事件”都结束了(因此术语页面没有列出我上面写的任何内容,因为我按今天的日期过滤它们),我就不需要这个函数wr_list_taxonomy() 打印此术语。

这有可能吗?

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

听起来你在找wp_get_object_terms() 它采用一个post ID数组、一个分类法和一些可选参数来确定返回的内容。

所以,你会使用get_posts() 要查询将来的事件,请构建一个ID数组,然后将该数组传递给wp_get_object_terms().

结束

相关推荐

页面元框-Get_Categories下拉列表

我创建了一个包含所有现有类别的下拉列表的元框。页面管理员应该能够从下拉列表中选择一个类别,该类别将由wordpress的保存/更新页面功能保存。<select name=\"event-dropdown\" onchange=\'document.location.href=this.options[this.selectedIndex].value;\'> <option value=\"\"><?php echo esc_attr(__(\'Select Ev