wp_get_archives (cat = id) <- Есть ли способ указать идентификатор кошки в архивах? - PullRequest
0 голосов
/ 23 апреля 2010

Кто-нибудь знает, как указать категорию ТОЛЬКО ВКЛЮЧЕНО с помощью wp_get_archives? Я хотел бы указать категорию, но затем перечислить результаты по месяцам.

Я попробовал плагин 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 голосов
/ 28 апреля 2010

Изменить этот конкретный код довольно просто ... это все в последнем запросе функции:

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 в запросе возврата. Вместо того, чтобы возвращать все , но этой категории, он вернет только этой категории.

...