2010-04-23 1 views
0

Кто-нибудь знает, как указать категорию INCLUDE ONLY, используя wp_get_archives? Я хотел бы указать категорию, но затем перечислить результаты по месяцам.wp_get_archives (cat = id) <- Любой способ указать идентификатор cat в архивах?

Я пробовал плагин 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

Модификация этого конкретного кода несколько просто ... все это в запросе последней функции по:

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

+0

Это что-то, что я могу положить в functions.php? Есть ли способ разместить это в виджетах? – Matrym

+0

Вы можете определенно поставить этот код в functions.php, но для создания пользовательского виджета потребуется гораздо больше работы, чем это. – EAMann