O widget deve exibir o arquivo de postagem por ano e clicar também por mês

Eu quero exibir os arquivos posteriores, como visto nesta imagem. Exibido por ano e em clique, ele deve abrir os meses. Não tenho certeza de como abordar isso, você poderia personalizar o padrão WordPress Archives Widget?

insira a descrição da imagem aqui

Solutions Collecting From Web of "O widget deve exibir o arquivo de postagem por ano e clicar também por mês"

Eu fiz isso para um cliente e parecia assim:

O código PHP:

< ?php $currentyear = date("Y"); $years = range($currentyear, 1950); foreach($years as $year) { ?>
< ?php echo $year; ?>
< ?php $archi = wp_get_archives('echo=0&show_post_count=1&type=monthly&year=' . $year); $archi = explode('', $archi); $links = array(); foreach($archi as $link) { $link = str_replace(array('
  • ', "\n", "\t", "\s"), '' , $link); if('' != $link) $links[] = $link; else continue; } $fliplinks = array_reverse($links); if(!empty($fliplinks)) { echo '
    '; foreach($fliplinks as $link) { echo '' . $link . ''; } echo '
    '; } else { echo '
    '; } ?> < ?php } ?>
  • O filtro de substituição de arquivos:

     /* * Add filter to query archives by year */ function newmarket_getarchives_filter($where, $args) { if(isset($args['year'])) { $where .= ' AND YEAR(post_date) = ' . intval($args['year']); } return $where; } add_filter('getarchives_where', 'newmarket_getarchives_filter', 10, 2); 

    O código CSS:

     .tree-accordion { line-height: 1.5; } .tree-accordion dt, .tree-accordion dd {} .tree-accordion dt a { display: block; } .tree-accordion .fa { color: #666666; } .tree-accordion dd a {} .tree-accordion dd span { display: block; } .tree-accordion dd { margin: 0 0 0 20px; } 

    O código Javascript:

     jQuery(document).ready(function(){ var allPanels = jQuery('.tree-accordion > dd').hide(); jQuery('.tree-accordion > dt > a').click(function() { $target = jQuery(this).parent().next(); if(!$target.hasClass('active')) { allPanels.removeClass('active').slideUp(); $target.addClass('active').slideDown(100); } return false; }); jQuery('.tree-accordion-empty').prev().hide(); }); 

    O resultado final:

    insira a descrição da imagem aqui

    O Widget “Arquivos” faz uso do wp_get_archives() que, dado os argumentos corretos (especificamente o argumento do format ), pode fornecer a marcação que você precisa. Eu diria que personalizar esse Widget é um bom lugar para começar.