隐藏特定类别,不显示

时间:2012-01-12 作者:matt

我试图隐藏特定的类别,以免出现在公文包主页上。我被告知这是php模板文件中相关的代码行

<span class="entry-skills"><?php the_terms($post->ID, \'skill-type\', \'\', \', \', \'\'); ?></span>
但默认情况下,无法从该函数中排除某些类型。为此,我需要创建一个自定义函数。

由于我对php了解不多,我在想也许有专家可以在这里帮助我?谢谢

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

我还没有对此进行测试,因此可能需要对其进行调整(特别是,我不确定我是否在术语对象上正确地找到了参数的名称),但这应该可以让您大致实现这一点。

//add filter
add_filter( \'get_the_terms\', \'my_exclude_terms\', 10, 1 );
//function to do filtering
function my_exclude_terms( $terms ) {
    //only filter for the homepage
    if( is_home() ) { // you may want to use is_front_page(), depending on your settings
        //list the unwanted terms
        $unwanted_terms = array( // fill this array with the unwanted term ids, slugs, or names
            14,
            18
        );
        // loop through the terms
        foreach( $terms as $k => $term ) {
            //only remove term if it\'s ID or slug is in the array.
            if(
              in_array( $term->term_id, $unwanted_terms, true ) || //comment out this line to remove term ID checking
              in_array( $term->slug, $unwanted_terms, true ) ||    //comment out this line to remove slug checking
              in_array( $term->name, $unwanted_terms, true )       //comment out this line to remove name checking
            ) {
                unset( $terms[$k] );
            }
        }
    }
    return $terms;
}
我用了get_the_terms 筛选,因为它是术语转换为HTML之前的最后一个筛选,这使得解析变得非常困难。如果您是PHP的新手,需要帮助进行故障排除或实现,请发表评论。祝你好运

结束

相关推荐

WP_LIST_CATEGORIES:获取类别的最新特色图像

我在考虑一种更好的方式来显示侧边栏中的类别。我希望也能显示图像/缩略图,而不是简单的列表样式。目前我正在使用以下内容:<?php wp_list_categories(\'show_last_updated=1&show_count=1&title_li=\'); ?> 只需显示每个类别的名称/链接+帖子数量。我想保留,但也要添加缩略图。我一直在浏览这块板寻找答案,也在考虑如何做,但我还没有找到解决方案。我想我必须创建一个函数来获取该类别中最新帖子的特征图像。如果一