2015-04-27 62 views
1

我遇到显示最近类别的小部件的问题。显示最近类别Wordpress部件

代码:https://ghostbin.com/paste/6cwa5https://ghostbin.com/paste/rtnqa

它显示在主页上很好,但是当我去到帖子页面,那只能说明网页类别。

此外,我必须强制该小部件关闭aside标记。

我在做什么错?我应该不使用wp_get_recent_posts功能吗?

为什么array_key_exists('after_widget', $args)使用12个十五个主题返回true?

回答

1

为什么使用wp_get_recents_posts?就我所能看到的而言,它与get_posts()标准值完全不同。

此外,你的线91和92可能是麻烦制造者。

foreach ($recent_posts as $post) { 
$categories = get_the_category($post->ID); 

我认为,$post真的必将给您正在寻找在目前的职位。这在主页上并不是什么大事,但是一旦你查看了一篇文章,你的loop-$文章可能会被blogpost- $ post覆盖(你知道我的意思吗?)。

尝试将它们改为与$post不同的东西,这可能会解决您的问题。

+1

啊,我没想到'$ POST'问题。这似乎解决了我在切换到'get_posts()'时遇到的大多数问题。关闭标签的任何想法?我更新了我的代码。 – twodayslate

+0

我看了看,发现它很好奇。实际上,我从来没有必要把自己的结局放在一边,WordPress(或主题)为我处理。你在使用购买的主题还是你自己开发的东西? – flomei

+0

使用二十五个主题(默认) – twodayslate

0
foreach ($recent_posts as $post) { 
$categories = get_the_category($post->ID); 

而不是你可以使用,这一个belown。

因为$ post是一个全局变量。

例子:

$categories = get_the_category($post->ID); 

    foreach ($categories as $cat) { 

     echo $cat->cat_name; 
    } 
+0

我认为在“可以使用”行之后缺少某些东西 –