从自定义分类列表中删除术语

时间:2013-12-31 作者:user3058496

我在如下列表中列出了自定义分类法的术语:

        <?php $taxonomy = \'categories\'; $tax_terms = get_terms($taxonomy); ?>
        <ul>
        <?php foreach ($tax_terms as $tax_term) {
        echo \'<li>\' . \'<a href="\' . esc_attr(get_term_link($tax_term, $taxonomy)) . \'" title="\' . sprintf( __( "View all posts in %s" ), $tax_term->name ) . \'" \' . \'>\' . $tax_term->name.\'</a></li>\';
        }?></ul>
该分类法有许多术语(打印、数字、类型等)但是,其中一个名为“归档”的文件不想显示在此列表中。有没有办法将其从上述代码中排除?

2 个回复
SO网友:Cedon

get_terms() 已在WordPress v4中升级。6所以你可以使用新闻WP_Term_Query 而不是类。您可以使用它来简单地排除术语的IDarchive 这样一来,它就永远不会成为你的结果的一部分。所以说的IDarchive is 5:

$args = array(
   \'taxonomy\' => \'category\',
   \'exclude\'  => 5,
);
$term_query = new WP_Term_Query( $args );
if ( ! empty( $term_query->terms ) ) {
   foreach (  $term_query->terms as term ) {
      // What you want it to do
   }
} else {
   echo \'Term Not Found\';
}
The\'exclude\' 参数也可以是数组,所以如果要排除ID 5、10和15,只需替换5 具有array( 5, 10, 15 ),

SO网友:tfrommen

Try it like this:

<?php
$taxonomy = \'categories\';
$tax_terms = get_terms($taxonomy);
?>
<ul>
    <?php
    foreach ($tax_terms as $tax_term)
        if (\'archive\' !== $tax_term->name)
            echo \'<li>\' . \'<a href="\' . esc_attr(get_term_link($tax_term, $taxonomy)) . \'" title="\' . sprintf( __( "View all posts in %s" ), $tax_term->name ) . \'" \' . \'>\' . $tax_term->name.\'</a></li>\';
    ?>
</ul>
结束

相关推荐

Exclude pages by menu order

我有一个“默认页面生成器”的主题激活我已经创建在该文件中,我为每页设置了“menu\\u order”。i want to exclude pages with menu order bigger then 50 from the default wp_list_pages menu是否有方法检查/检索每页的“menu\\u order”?如果有,您能想出一种方法将其集成到wp\\u list\\u pages函数中吗?