Suporte » Plugins » Criar um índice por ordem alfabética com categorias

  • Olá colegas,

    Estou precisando criar um índice com as categorias do WordPress, mas não sei como fazer. Consigo listar as categorias em ordem alfabética, mas preciso dividi-las por letras.

    Por exemplo:

    A
    ana
    amara
    ….

    B
    bob
    bernando

    C
    Cristina
    Claudio

    Alguém sabe como posso fazer isso?

Visualizando 1 resposta (de um total de 1)
  • Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá, tudo bem?

    Basta usar get_terms para conseguir uma array com as categorias (ou outras taxonomias) na forma que quiser (incluindo ordem alfabética), depois criar o front-end (HTML) como desejar.

    Pode ser um foreach na array anterior incrementando outra array. Mais ou menos assim:

    $alfabetical = array();
    $examples = array(
        'Exemplo com E',
        'Algo com A',
        'Coisa com C',
    );
    
    // Organizando por letra inicial, não irá organizar por ordem alfabética dentro de cada grupo de letra: isso é com a função que você usa para pegar a lista
    foreach ( $examples as $example ) {
        $letter = mb_substr( $example, 0, 1, 'utf-8' );
    
        if ( empty( $alfabetical[$letter] ) ) {
            $alfabetical[$letter] = array();
        }
    
        $alfabetical[$letter][] = $example;
    }
    
    // Organizando os grupos por ordem alfabética
    ksort( $alfabetical );
    
    // Imprimindo a lista
    foreach ( $alfabetical as $letter => $list ) {
        echo "<h1>" . $letter . "</h1>";
    
        echo "<ul>";
        foreach ( $list as $item ) {
            echo "<li>" . $item . "</li>";
        }
        echo "</ul>";
    }
Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Criar um índice por ordem alfabética com categorias’ está fechado para novas respostas.