sur un site Wordpress j'ai des catégories qui portent le nom de personnes et j'affiche dans un glossaire les lettres A, B, C …
en-dessous, par défaut, s'affiche dans une liste les noms des personnes dont la 1ère lettre du nom commence par A ($currentLetter = 'A';).
je cherche à modifier le rendu d'affichage par défaut en n'affichant plus la liste des noms commençant par A uniquement dans une seule colonne mais je veux afficher dans dans une liste de 4 colonnes les noms commençant par A, B, C et D puis dans la seconde ligne les 4 noms suivants (E, F, G, H) etc...
j'arrive bien à afficher dans une seule colonne la totalité des noms mais je n'arrive pas à afficher les résultats pour chaque lettre dans 4 colonnes soit 1 colonne pour chaque lettre.
je ne vois pas comment faire un affichage séparé pour chaque lettre ni comment les récupérer sachant que le tri est déjà fait dans le tableau du glossaire.
un expert php aurait-il un début de piste ?
merci
le code avant le header
<?php
/*
* Template Name: Alphabet
*/
/**
* Recuperation de la liste complete des noms
*/
// $glossaire : tableau dont chaque clé est une lettre de l'alphabet
// Chaque entrée contiendra la liste des noms
$glossaire = array();
foreach (range('A', 'Z') as $lettre) {
$glossaire[$lettre] = array();
}
// Récuperation des catégories dans la BDD
$categories=get_categories(array(
'type' => 'post',
'parent' => 7589,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 1,
'taxonomy' => 'category',
'pad_counts' => false ));
// Stockage des infos sur chaque catégorie dans le glossaire
foreach ($categories as $category) {
$lettre = strtoupper($category->name[0]);
$glossaire[$lettre][] = array("slug" => $category->slug, "name" => $category->name);
}
// Par defaut, on affiche la lettre A
$currentLetter = 'A';
?>
/* ################################corps de la page html
################################
*/
/* Affichage du glossaire avec chaque lettre de l'alphabet */
<?php foreach (range('A', 'Z') as $lettre) { ?>
<a href="#inter-tab-<?php echo $lettre;?>" class="<?php if ($lettre == $currentLetter) { echo 'active'; } ?>"><?php echo $lettre;?></a>
<?php } ?>
/* Affichage de la liste des noms commençant par la lettre A ; les autres sont préchargés mais non affichés */
<?php foreach($data as $intervenant) { ?>
<li><a class="tooltip-bottom" title="<?php echo $intervenant['name']; ?>" href="<?php echo $pageLink; ?>inter=<?php echo $intervenant['slug'] ?>"><?php echo $intervenant['name']; ?></a></li>
<?php } ?>