Sidebar.php中的类别特定月份列表

时间:2013-08-26 作者:norixxx

是什么让我暂时分心,如何输出特定类别的月份列表。我一直在寻找同样的问题和解决方案,到目前为止找不到任何幸运。。。

无论如何,我的网站上有两个帖子类型的页面。一个是新闻页面(例如。http://example.com/news/) 另一个是博客页面(例如。http://example.com/blog/).

我使用archive.php 显示我的新闻和博客页面,以及我要在其中输出包含帖子计数的月份列表sidebar.php.我可以使用wp_get_archives(\'cat=0\')然而,这样的输出

2013/05(20)
2013/06(12)
2013/07(18)
2013/08(6)
HTML:

<li><a href="http://xxxxxxxx.com/wp/2013/05/"></a></li>
<li><a href="http://xxxxxxxx.com/wp/2013/06/"></a></li>
<li><a href="http://xxxxxxxx.com/wp/2013/07/"></a></li>
<li><a href="http://xxxxxxxx.com/wp/2013/08/"></a></li>
当我点击其中一个时,这会将我带到一个页面,当然,所有帖子都发生在那个特定的月份。

例如,如果我在新闻页面中,我希望输出的内容是:

HTML:

<li><a href="http://xxxxxxxx.com/wp/news/2013/05/"></a></li>
<li><a href="http://xxxxxxxx.com/wp/news/2013/06/"></a></li>
<li><a href="http://xxxxxxxx.com/wp/news/2013/07/"></a></li>
<li><a href="http://xxxxxxxx.com/wp/news/2013/08/"></a></li>
特定类别。有什么想法吗?

1 个回复
SO网友:Anjum

您可以使用getarchives_where 筛选以按类别获取存档

add_filter( \'getarchives_where\', \'my_archives_filter_function\', 10, 2 );

// your filter function replace YOUR CATEGORY ID with category term id e.g(3)
function my_archives_filter_function($where) {
   global $wpdb;
   $where ." AND $wpdb->posts.ID IN (SELECT $wpdb->posts.ID FROM $wpdb->posts INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->term_taxonomy.taxonomy = \'category\' AND $wpdb->term_taxonomy.term_id = \'YOUR CATEGORY ID\')";
   return $where;
}
现在打电话wp_get_archives();

结束

相关推荐

Sidebar not appearing

侧栏未出现在我的网站上:http://richardclunan.com/我在侧边栏中有一个文本小部件,其中包含一些测试文本…在“编辑页面”中,没有“无侧边栏”选项…我需要做什么才能显示侧边栏?(我可能会让它在侧边栏区域中完全不显示–只需将其激活以将页面上主区域的文本分流,因此行长度较短–我提到这一点只是为了防止无法激活它而没有显示…)编辑:我在回答一个问题时添加了几个问题:“register\\u sidebar”一词出现在函数中。php–这是否意味着启用了动态侧栏支持?我是否将SimonDowdles