我想在我的wordpress网站上显示档案结构
像
-2014(15)
--Jan(2)
--Feb(5)
----Blog Title1
----Blog Title2
----Blog Title3
----Blog Title4
----Blog Title5
默认显示我网站上的所有帖子。
但我想仅列出那些仅属于“category =>'blog-post'”的帖子。
我尝试使用 - <?php get_archives(); ?>
但它会显示我网站上所有帖子的列表。
答案 0 :(得分:0)
试试这个:
add_filter( 'getarchives_where', 'get_archives_where', 10, 2 );
add_filter( 'getarchives_join', 'get_archives_join', 10, 2 );
wp_get_archives(array('type' => 'monthly')); //put your parameters
remove_filter( 'getarchives_where', 'get_archives_where' );
remove_filter( 'getarchives_join', 'get_archives_join' );
function get_archives_where( $where, $r ){
global $wpdb;
$where .= " AND ". $wpdb->prefix. "terms.slug = 'blog-post' AND ". $wpdb->prefix. "term_taxonomy.taxonomy = 'category'";
return $where;
}
function get_archives_join( $join, $r ){
global $wpdb;
$join = "inner join ". $wpdb->prefix . "term_relationships on ". $wpdb->prefix . "posts.ID = ". $wpdb->prefix . "term_relationships.object_id inner join ". $wpdb->prefix . "term_taxonomy on ". $wpdb->prefix . "term_relationships.term_taxonomy_id = ". $wpdb->prefix . "term_taxonomy.term_taxonomy_id inner join ". $wpdb->prefix . "terms on ". $wpdb->prefix . "term_taxonomy.term_id = ". $wpdb->prefix . "terms.term_id";
return $join;
}
是https://wordpress.stackexchange.com/questions/95776/how-we-display-archives-for-specific-categories有效。我刚刚以更恰当的方式介绍了它。
我还找到了这个http://wordpress.org/plugins/wp-category-archive的小部件。这也可以帮助一些人(但是,这个插件很老)