WP查询自定义分类法但排除当前术语

时间:2015-11-25 14:09:16

标签: php wordpress wp-query

我正在设置一个wp_query来列出自定义分类中的所有术语。但是,我想修改下面的代码,以排除当前的分类术语。

例如,当在&term;以及' term1'的archive.php页面上时,我希望将其排除在外,这意味着我留下了' term2',&# 39; TERM3'等

<? 
$args = array(
    'taxonomy' => 'topic',
    'orderby' => 'title',
    'order' => 'ASC',
    'posts_per_page' => '-1'
);
?>
<? $tax_menu_items = get_categories( $args );
    foreach ( $tax_menu_items as $tax_menu_item ):?>
        <li>
            <a href="<? echo get_term_link($tax_menu_item,$tax_menu_item->taxonomy); ?>">
                <? echo $tax_menu_item->name; ?>
            </a>
        </li>
    <? endforeach; ?>

1 个答案:

答案 0 :(得分:0)

试试这个,它取决于你使用它的位置

// Get the category ID
$catID = get_query_var('topic');
// Now run the query excluding the current taxonomy
$args = array(
    'exclude' => $catID,
    'taxonomy' => 'topic',
    'orderby' => 'title',
    'order' => 'ASC',
    'posts_per_page' => '-1'
);

然后是上面的其余代码。有关get_categories()的更多信息,请查看https://codex.wordpress.org/Function_Reference/get_categories,排除参数绝对是您需要的 - 它只是确保您排除正确的类别ID。