osu
  • 0
Новичок

Wp_get_archives для определенной категории?

  • 0

Я рвал на себе волосы — мне нужно жестко закодировать wp_get_archives() определенную категорию в шаблоне.

Этот пост был полезен:

Архив по категориям

но, как и все плагины, которые я нашел до сих пор, они не работают с WP 3.1 (или вам нужно взломать файлы ядра, чего я явно не хочу делать).

Есть ли другое решение, о котором я не знаю? Может быть метод путем создания отдельного цикла?

Спасибо за любые указатели

осу

Share
  1. Я сделал это относительно сложным способом, используя собственный запрос. Я не знал о Smart Archives Reloaded, поэтому написал код сам. Но это работает. Замените идентификатор вашей категории на «term_taxonomy.term_id».

    <?php
                         global $wpdb, $wp_locale;
                        $query = "select YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts from $wpdb->posts,  $wpdb->term_taxonomy, $wpdb->term_relationships 
                            WHERE $wpdb->posts.post_status = 'publish' 
                            AND $wpdb->posts.post_type = 'post'
                            AND $wpdb->term_taxonomy.term_id = 11
                            AND $wpdb->posts.ID = $wpdb->term_relationships.object_id
                            AND $wpdb->term_taxonomy.term_taxonomy_id = $wpdb->term_relationships.term_taxonomy_id
                         GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC"; 
                         $arcresults = $wpdb->get_results($query); 
                        foreach ($arcresults as $arcresult): 
                        $text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);?>
                        <li><a href="<?php bloginfo('url') ?>/[your_category_base]/[your_category_name]/date/<?php echo $arcresult->year; ?>/<?php echo str_pad($arcresult->month, 2, '0', STR_PAD_LEFT); ?>"><?php echo $text;  ?> </li>
                          <?php endforeach; ?> 
    

    В написании этого мне помог просмотр http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/general-template.php, где определен wp_get_archives.

    И использовал код, найденный здесь (поместил в functions.php): http://snipplr.com/view.php?codeview&id=17432 для создания постоянных ссылок на архивы для одной категории в виде http://example.com/category_base /category_name/дата/ГГГГ/ММ

    • 0

Оставить ответ

You must login to add an answer.