Get letter in array with Timber (twig) and Wordpress

697 Views Asked by At

I would like to create a dictionary with Timber (twig) and Wordpress.

I get my array by letter but I need to generate a list of letters : A - B - C - D...

$query = new WP_Query(array('post_type' => 'lexique', 'posts_per_page' => -1));

$by_letter = array();
    while( $query->have_posts() ) { $query->the_post();
    $letter = substr($post->post_name, 0, 1);
    if (! isset($by_letter[$letter]) ) $by_letter[$letter] = array();
    $by_letter[$letter][] = $post;
}

if (!empty($by_letter)) {
    ksort($by_letter);
}

$context['query_lexique'] = $by_letter;

So I need to take the first letter [a] [b] in this :

Array
(
    [a] => Array
        (
            [0] => WP_Post Object
                (
                    [ID] => 239
                    [post_author] => 1
                    [post_date] => 2016-12-29 14:22:03
                    [post_date_gmt] => 2016-12-29 13:22:03
                )

            [1] => WP_Post Object
                (
                    [ID] => 238
                    [post_author] => 1
                    [post_date] => 2016-12-29 14:21:34
                    [post_date_gmt] => 2016-12-29 13:21:34
                )

        )

    [b] => Array
        (
            [0] => WP_Post Object
                (
                    [ID] => 241
                    [post_author] => 1
                    [post_date] => 2016-12-29 16:34:28
                    [post_date_gmt] => 2016-12-29 15:34:28
                )

            [1] => WP_Post Object
                (
                    [ID] => 240
                    [post_author] => 1
                    [post_date] => 2016-12-29 16:34:07
                    [post_date_gmt] => 2016-12-29 15:34:07
                )

        )

)

How to get each letter to generate my list please ?

1

There are 1 best solutions below

0
On BEST ANSWER
{% for letter, posts in query_lexique %}
    <h1>{{ letter }}</h1>
    {% for post in posts %}
        ...
    {% endfor %}
{% endfor %}