-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Prerequisiti
- Ho già cercato tra le issue la presenza di un problema simile
- Ho letto le linee guida di contribuzione
Descrivi il problema
Mi trovo con un progetto ancora praticamente vuoto, entro nella pagina "Documenti e Dati", provo a seguire una delle categorie già presenti. Sono perplesso sul codice della funzione:
/**
* restituisce label per costruzione breadcrumb
* @param $name
* @param string $type
* @return mixed|string
*/
function dci_get_breadcrumb_label($name , $type = 'term') {
$terms = array(
'comunicato stampa' => 'Comunicati',
'news' => 'Notizie',
'avviso' => 'Avvisi'
);
if ($terms[$name]) {
return $terms[$name];
}
return ucfirst($name);
}Secondo me il codice va migliorato, per due motivi, ed inizio da quello più semplice. Il test logico sulla presenza del $name nell'array $terms così com'è scritto mi causa un warning per ogni valore fuori dai tre previsti nel codice. Si potrebbe migliorare aggiungendo un isset al test logico:
if (isset($terms[$name])) {
return $terms[$name];
}Però quello che davvero mi lascia perplesso è la presenza letterale (hard-coded) dell'array $terms, che a mio vedere andrebbe levato e riformulato come colonna extra nella base dati. In pratica qui vogliamo tradurre un nome in un testo breve da includere fra i breadcrumb, probabilmente dal singolare al plurale, probabilmente abbreviando. Secondo me è una operazione simile alla creazione (che non facciamo in automatico!) dello slug corrispondente al nome, e direi che andrebbe fatta aggiungendo una colonna alla tabella di database dove sono questi nomi e dove l'amministratore può aggiungere nomi, con slug e descrizioni.
Ci manca di offrire all'amministratore di definire il breadcrumb_name.
Includi link o screenshot
No response
Su quale sisitema operativo stai riscontrando il problema?
Linux
Su quale browser stai riscontrando il problema?
Firefox
Che versione del tema stai utilizzando?
1.12.4