wp_get_archives(cat = id)< - 在档案中指定cat id的任何方法?

时间:2010-04-23 19:18:23

标签: wordpress wordpress-plugin wordpress-theming

有没有人知道如何使用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)";

1 个答案:

答案 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”关键字即可。而不是返回该类别的所有内容,它将仅返回 该类别。