Stai cercando un modo per aggiungere la categoria del post alle classi dell'elemento body per i singoli post? Questo piccolo snippet prenderà tutte le categorie assegnate a un post e aggiungerà ciascuna di esse come classe body con il modello sgl-cat-{nome-categoria}.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
add_filter(‘body_class’,’add_category_to_single’,10,2);
function add_category_to_single($classes, $class) {
if (is_single() ) {
global $post;
foreach((get_the_category($post->ID)) as $category) {
$classes[] = 'sgl-cat-'.$category->category_nicename;
}
}
return $classes;
}
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare i nostri altri articoli sul sito come: Recensione CSS Hero: il plugin n. 1 per la personalizzazione dei temi WordPress.
Questo è il mio post più vicino a ciò di cui ho bisogno.
Come posso usare questo codice per mostrare la categoria in un che contiene tutte le informazioni sul post.
Vorrei farlo perché voglio creare stili diversi per ogni categoria che ho.
Ho provato a inserire direttamente la body_class nel ma non ho bisogno di tutte queste informazioni (home blog logged-in admin-bar no-customize-support wp-custom-logo .category uncategorized) ho solo bisogno di questo (uncategorized) perché è la categoria del post.
Funziona per me. Grazie!
È interessante notare che quando copio il codice, l'apostrofo singolo è stato copiato come apostrofo singolo cinese "‘’", ho dovuto cambiarlo manualmente per farlo funzionare. Non credo sia un tuo problema, sto ancora cercando di capire come sia successo.
Ottimo, ma è necessaria una correzione o il codice sopra genererà un errore fatale. L'hook dovrebbe avere:
add_filter(‘body_class’,’add_category_to_single’,10,2) poiché passi 2 parametri.
Bruce, il mondo è un posto bellissimo grazie a persone come te! 😀
Grazie per avermi fatto risparmiare un po' di tempo. 🙂