quinta-feira, 4 de março de 2021

Redes Sociais

×

Buscar no site

Newsletter

Ordenar posts no WordPress

Recentemente recebi uma demanda para ordenar posts em ordem alfabética em um site baseado em WordPress. Após vasculhar a internet atrás de informações sobre o assunto, descobri que não existe um ferramenta nativa para fazer isso.

Segue abaixo as soluções que encontrei para conseguir ordenar os posts:

Plugin

Utilizei dois plugins que permitem ordenar os posts, o Simple Custom Post Order e o Post Types Order, ambos permitem reordenar através de arrastar e soltar na página de posts, mas nenhum oferecia a opção de ordenar em ordem alfabética automaticamente, tive que fazer isso manualmente.

Código

Não fiquei satisfeito com o resultado e fui atrás da estrutura de repetição no código do tema responsável por exibir os posts no site. Queria que os posts fossem ordenado automaticamente para que quando se criasse um novo post na categoria especifica, ele já aparece na lista na posição correta.

No tema que utilizei a estrutura estava em archive.php substitui o código que exibe os posts por este abaixo:

<?php
  $args = array(
    'post_type'=>'post','orderby'=> 'title',
    'order' => 'ASC', 'numberposts'=>-1);
  $my_posts = get_posts($args);
?>

<?php foreach( $my_posts as $post ): setup_postdata($post); ?>
  <?php the_content(); ?>
<?php endforeach; ?>

A variável $args recebe os parâmetros dos posts que devem ser carregados, o parâmetro ‘orderby’ => ‘title’ define que deve ser ordenado através do titulo do post e ‘order’ => ‘ASC’ define que deve ser exibido em ordem ascendente de A à Z.

Compartilhar

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *