4 linhas de coluna ordenadas alfabeticamente com as inputs agrupadas (e rotuladas) pela primeira letra

Eu encontrei algum código para criar loops de WordPress de várias colunas e encontrei algum código para inputs agrupadas por letra do alfabeto. Mas não consigo obter o código para trabalhar em conjunto … o pedido está um pouco desarrumado.

EXEMPLO

http://52words.org/w/

Agradeceria alguma ajuda.

 .col { width:24%; float:left; margin-right:5px; }   'title', 'order' => 'ASC', 'posts_per_page' => '199', 'paged' => $paged, 'post_type' => 'wiki' ); query_posts($args); //end of query section if (have_posts()) : for ( $i=1 ; $i <= $num_cols; $i++ ) : echo '
'; $counter = $num_cols + 1 - $i; while (have_posts()) : the_post(); if( $counter%$num_cols == 0 ) : ?> <?php $title=get_the_title(); $initial=strtoupper(substr($title,0,1)); if($initial!=$letter) { echo "

$initial

    "; $letter=$initial; } { ?>
  • <a href="https://wordpress.stackexchange.com//questions/124053/4-column-loop-ordered-alphabetically-with-entries-grouped-and-labeled-by-their/" rel="bookmark" title=" ">
  • <?php endif; $counter++; endwhile; rewind_posts(); echo '
'; //closes the column div endfor; ?>

Solutions Collecting From Web of "4 linhas de coluna ordenadas alfabeticamente com as inputs agrupadas (e rotuladas) pela primeira letra"

Então, pelo que posso dizer, você quer quatro colunas de comprimento relativamente igual em uma página, com uma carta de título toda vez que você passar para uma nova letra do alfabeto.

 < ?php $num_cols = 4; // set the number of columns here $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // for pagination $args = array( 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => '199', 'paged' => $paged, 'post_type' => 'wiki' ); $wikis = new WP_Query($args); //end of query section if ($wikis->have_posts()) : // figure out where we need to break the columns // ceil() rounds up to a whole number $break_at = ceil( $wikis->post_count / $num_cols ); // start with the first column $col_counter = 1; $post_counter = 1; // Set the title letter empty so that it's always output at the beginning of the cols $initial = ''; ?> 
< ?php while ($wikis->have_posts()) : $wikis->the_post(); // Start a new column (but not the first one) if( $post_counter % $break_at == 0 && $post_counter > 1 ) : $col_counter++; ?>
    < ?php endif; $title = get_the_title(); $wiki_letter = strtoupper(substr($title,0,1)); if( $initial != $wiki_letter) : ?> < ?php if ( $post_counter > 1 ) : // close the previous ul ?>
< ?php endif; ?>

< ?php echo $wiki_letter ?>

    < ?php $initial = $wiki_letter; endif; ?>
  • < ?php echo $title ?>
  • < ?php $post_counter++; ?> < ?php endwhile; ?>
< ?php wp_reset_postdata(); endif; ?>

Este código tem um pequeno erro onde, se uma nova letra do alfabeto começar ao mesmo tempo que uma nova coluna, existe uma etiqueta

    vazia no início da coluna.