Как разбить вывод wp_get_archives ($args) по годам?

142
06 апреля 2019, 01:50

Сейчас функция выводит мне весь список месяцов с годами типа: Январь 2016 и.т.д Мне нужно разделить года и месяца , сделать вида 2016 -> Месяца года , 2017 -> Месяца. Кто знает как реализовать. Пробую собирать отдельный обьект для этого вывода , но выходит как-то очень обьемно.

$args = array(
                    'type'            => 'monthly',
                    'format'          => 'html', 
                    'show_post_count' => false,
                    'post_type'       => 'acts',
                    'echo' => false,
                );
wp_get_archives ($args);

Может wp так сам умеет , но я знаю.

Answer 1

Нашел решение:

<?php
global $wpdb;
$limit = 0;
$year_prev = null;
$months = $wpdb->get_results("SELECT DISTINCT MONTH( post_date ) AS month , YEAR( post_date ) AS year, COUNT( id ) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now( ) and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC");
foreach($months as $month) :
    $year_current = $month->year;
    if ($year_current != $year_prev)
    {
        if($year_current != date('Y'))
        {
        ?>
            </ul>
        <?php
        }
        ?>
        <h3>
            <a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/"><?php echo $month->year; ?></a>
        </h3>   
        <ul class='list-group'>         
    <?php 
    } 
    ?>
    <li class='list-group-item'>
        <a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>"><span class="archive-month"><?php echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?></span></a>
        &nbsp;<span class='label label-default'><?php echo $month->post_count; ?></span>
    </li>
    <?php 
    $year_prev = $year_current;
endforeach; 
?>
</ul>
READ ALSO
Методика разработки классов PHP

Методика разработки классов PHP

Подскажите пожалуйста книги или статьи по методике разработки классовЗадача:

143
Как лучше реализовать режим разработки?

Как лучше реализовать режим разработки?

Есть проект написанный на PHP на паттерне MVCВсё самописное

146
Правильный запрос к базе. ORM Eloquent. Laravel

Правильный запрос к базе. ORM Eloquent. Laravel

Есть объект folder в БД у которого существует id

145
Поиск в файле php [закрыт]

Поиск в файле php [закрыт]

Есть txt файлВ нём 3 строки:

171