web-dev-qa-db-fra.com

Termes de taxonomie de style individuellement

J'essaie de résoudre un problème et j'ai besoin d'aide :) Tout d'abord, j'ai une grille personnalisée affichant les termes et les images de ma taxonomie personnalisée. C'est le code que j'utilise actuellement:

<?php

$terms = get_terms( 'industrygroups' , 'hide_empty=false' );

echo '<div class="row">';

foreach ( $terms as $term ) {

    // The $term is an object, so we don't need to specify the $taxonomy.
    $term_link = get_term_link( $term );

    // If there was an error, continue to the next term.
    if ( is_wp_error( $term_link ) ) {
        continue;
    }

    // We successfully got a link. Print it out.
    echo '<div class="col-lg-3"><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></div>';
}

echo '</div>';

?>

Ce que je voudrais accomplir maintenant, c’est d’utiliser un champ personnalisé de mon terme de taxonomie (qui a été ajouté via ACF . Ce champ est une liste déroulante. , affichant différents niveaux 1-5.

Je veux que chaque niveau choisi génère une bordure de couleur/un arrière-plan différent autour du terme de taxe indiqué dans la grille - Au début

Maintenant, j'ai essayé de suivre ce tutoriel qui explique comment faire cela avec des messages, mais j'ai du mal à transférer ce fil de pensée à l'application aux termes de taxonomie. J'aimerais des conseils. Je vous remercie.

1
streetfire

Vous pouvez utiliser le slug de chaque terme comme nom de classe (et le styliser via CSS)

<?php

echo '<div class="col-lg-3 ' . $term->slug . '">'; // $term->slug is the class name
echo '<a href="' . esc_url( $term_link ) . '">' . $term->name . '</a>';
echo '</div>';

?>

Si vous souhaitez utiliser des termes et des couleurs dynamiques, je vous recommande le Mark Posts Plugin ; il est possible de gérer les termes/couleurs dans la zone d'administration et vous pouvez également afficher les termes/couleurs dans l'interface comme vous pouvez le voir ici :

<?php

/*
 * Display terms & colors of a post
 */

$post_markers = wp_get_post_terms( $post->ID, 'marker' );

echo '<ul>';

foreach ( $post_markers as $post_marker ) :
  echo '<li>';
  echo __('Marker', 'textdomain') . ': ' . $post_marker->name  . '<br />';
  echo __('Color', 'textdomain') . ': ' . $post_marker->description . '<br />';
  echo '</li>';
endforeach;

echo '</ul>';

?>
1
Sven