如何对某些类别隐藏小部件

时间:2013-09-18 作者:Robert

我需要某种方法从一个类别中隐藏内置小部件的主题。因此,当帖子来自该帖子上的类别X时,隐藏该小部件。我会为它使用插件,但因为它不是拖放小部件,所以我不能。它是一个构建在主题内的股票列表。我试过了<?php if(!in_category(\'X\')) : ?> 就像我让另一个人失去了能力,但这是<ul> 列表,我的解决方案以错误结束。

这是我尝试过的示例代码,甚至试图改变它的位置in_category() 但运气不好。也许它需要在带有过滤器的主题函数内完成,但我没有找到一种方法或代码。

中的代码header.php:

<div id="ticker">
<span class="ticker-heading"><?php _e( "Don\'t Miss", \'mvp-text\' ); ?></span>
<ul class="ticker-list">
    <?php if(!in_category(\'X\')) : ?><?php else : ?><?php $recent = new WP_Query(array( \'tag\' => get_option(\'gd_ticker_tags\'), \'showposts\' => get_option(\'gd_ticker_num\') )); while($recent->have_posts()) : $recent->the_post();?>
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
</ul>                       
</div><!--ticker-->

2 个回复
SO网友:Wrought_steel

我想你的意思是is_category()?

Codex: is_category()

SO网友:Mayeenul Islam

我完全同意锻钢的回答,这是正确的方法。因此,正确的方法是:

is_category()

您的优化代码将是:

<div id="ticker">
<span class="ticker-heading"><?php _e( "Don\'t Miss", \'mvp-text\' ); ?></span>
<ul class="ticker-list">
    <?php if(!is_category(\'X\')) : //just to hide something from Cat = X ?>
         <?php $recent = new WP_Query(array( \'tag\' => get_option(\'gd_ticker_tags\'), \'showposts\' => get_option(\'gd_ticker_num\') ));
         while($recent->have_posts()) : $recent->the_post(); ?>
            <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
         <?php endwhile; ?>
    <?php endif; ?>
</ul>                       
</div><!--ticker-->
无需使用else 条件,因为如果不是所需的类别,您希望隐藏某些内容。

结束

相关推荐

Get categories without post

我想得到没有帖子的类别。下面是使用post获取类别的sql。。SELECT terms.term_id,terms.name,COUNT(post.ID) FROM wp_posts as post JOIN wp_term_relationships as rel ON post.ID = rel.object_ID JOIN wp_term_taxonomy as ttax ON rel.term_taxonomy_id = ttax.term_taxonomy_id JOI