How to use in_category?

时间:2013-09-15 作者:Lucas Bustamante

有一个“最近的帖子”小部件,它应该只输出“新闻”类别中的帖子(ID 26)

所以我尝试了这个:

<?php $t =& peTheme(); ?>
<?php $content =& $t->content; ?>
<?php list($data) = $t->template->data(); ?>

<?php if (in_category(\'26\')):?> <!-- Line I added -->

<?php if (!empty($data->title)): ?>
<h3><?php echo $data->title; ?></h3>
<?php endif; ?>

<?php while ($content->looping()): ?>
<span class="small"><?php $content->date(); ?></span>
<a class="comments-num small" href="#"><?php $content->comments(); ?></a>
<p><?php echo $t->utils->truncateString(get_the_excerpt(),$data->chars); ?>
<?php endwhile; ?>

<?php if (!empty($data->link)): ?>
<a class="more-link" href="<?php echo $data->url ?>"><?php echo $data->link ?></a>
<?php endif; ?>
<?php endif; ?> <!-- Line I added -->
但它在小部件所在的位置输出一个空格。有没有一种方法可以过滤,只显示26类最近的帖子?

1 个回复
SO网友:Jay Neely

看起来您将Wordpress in\\u category()函数与插件/主题代码混合在一起,而插件/主题代码没有设置标准的WP查询或post对象。因此,您不能在\\ u category()中使用。

使用var_dump($content);var_dump($data); 查看这些对象中的任何一个是否具有内容的“类别”属性。在if语句中使用,例如:if($data->category-id == 26)

结束

相关推荐

POSTS_WHERE失败,查询中有多个自定义字段

单独查询这两个字段中的任何一个都会得到预期的结果(显示帖子)。但是,当这两个字段都包含在查询中时(例如下面的示例中显示的“foo”和“bar”),则不会显示帖子。function do_stuff( ) { global $wpdb; return \" AND ($wpdb->postmeta.meta_key = \'foo\' AND $wpdb->postmeta.meta_value = \'1\')