有没有人知道如何使用wp_get_archives指定INCLUDE ONLY类别?我想指定一个类别,然后按月列出结果。
我尝试过kwebble的插件无济于事。我在WP论坛上也发现了以下内容,但它似乎只排除了类别。也许它可以修改为包含?即使这样,我也不确定我会怎么称呼它......
提前致谢!
add_filter( 'getarchives_where', 'customarchives_where' );
add_filter( 'getarchives_join', 'customarchives_join' );
function customarchives_join( $x ) {
global $wpdb;
return $x . " 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)";
}
function customarchives_where( $x ) {
global $wpdb;
$exclude = '1'; // category id to exclude
return $x . " AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id NOT IN ($exclude)";
答案 0 :(得分:0)
修改特定代码有点简单......它都在最后一个函数的查询中:
function customarchives_where( $x ) {
global $wpdb;
$include = '1'; // category id to include
return $x . " AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id IN ($include)";
只需将$exclude
更改为$include
并在返回查询中省略“NOT”关键字即可。而不是返回但该类别的所有内容,它将仅返回 该类别。