Hoje vamos resolver um problema que você já deve ter enfrentado com seu site, apenas adicionando algumas linhas de código. A ideia é mostrar somente algumas categorias, e colocá-las em uma ordem personalizada. Algo como: Cat12, Cat 28, Cat5, Cat9, Cat88.

Bem, isso seria simples, bastando editar o tema e adicionar no local que deseja exibir as categorias:

get_categories(array("include"=>"5,6,17,22,23,27,42,44"));

usando get_categories você pode selecionar somente algumas categorias para exibir, mas isso perde uma grande possibilidade na minha opinião: você não pode definir em qual ordem serão exibidas as categorias.

A ordem padrão é a ordem alfabética, então você só tem mais algumas opções, como o número de posts, mas você não pode dar suas categorias uma ordem customizada.

Obviamente, um monte de plugins foram lançados para deixar blogueiros dar ordem customizada para suas categorias, alguns deles escritos a partir do zero, outros a partir do plugin Advance Custom Fields.

Para manter nosso tema limpo e leve, é recomendável que não seja utilizado plugins para solucionar tarefas simples como esta. Vamos ver agora como resolver este problema:

$category_order = array(22,17,6,42,44,27,23,5);
$category_array = array();
$categories=get_categories(array("include"=>"5,6,17,22,23,27,42,44"));
if ($categories) {
    foreach($categories as $category) {
        $category_array[array_search($category->cat_ID,$category_order)] = '<div class = "categorias"><a href = "/category/'.$category->category_nicename.'">' . $category->name."<br />".$category->count."</a></div>";
    }
    ksort($category_array);
    foreach($category_array as $category){
        echo $category;      
    }
}

Linha 1:  este é o array que contém os IDs das categorias na ordem que queremos exibir.

Linha 2: este é o array que vai receber o HTML com as categorias já ordenadas.

Linha 3: aqui pegamos a lista de categorias pela função vista anteriormente get_categories() .

Linha 4: aqui fazemos uma checagem se foram retornadas categorias, para o caso de você ter solicitado categorias que não estão cadastradas no WP.

Linha 5: fazemos um loop em todas as categorias encontradas usando a função PHP foreach().

Linha 6: colocamos no array final o HTML de cada categoria, na posição adequada de acordo com a ordem que definimos na linha 1.

Linha 8: nesta linha é feita a ordenação do array final, usando a chave do array. Caso queira saber mais sobre a função ksort(), clique aqui.

Linha 9: fazemos um loop no array final de categorias.

Linha 10: finalmente, escrevemos o HTML para cada categoria na ordem definida.

É isto! Agora temos as categorias na ordem que queremos em nosso post. Fácil, sem usar nenhum plugin.