Definir colors de acordo com a categoria

Eu tenho essa function que produz as últimas 6 postagens das categorias 1 e 2.

  • <a href="https://wordpress.stackexchange.com//questions/123066/set-colors-depending-on-category/" title="">
    ...

O que eu gostaria de fazer é ter o link para o artigo (por exemplo) vermelho se for da categoria 1 e verde se for da categoria 2. Você pode me ajudar?

Solutions Collecting From Web of "Definir colors de acordo com a categoria"

Ao deixar de lado que você está usando incorretamente query_posts() , a solução mais fácil é adicionar uma chamada para post_class() , para saída de classs específicas de pós, incluindo .category-{ID} e .category-{slug} :

 < ?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> 
  • >< ?php the_title(); ?>
    < ?php echo substr(get_the_excerpt(), 0,110); ?> ...

  • < ?php endwhile; ?>

    Então, você pode usar CSS para segmentar li.category-{ID} .

    Esta não é realmente a solução mais dinâmica, mas você pode fazer algo como isto:

     
      < ?php query_posts('cat=1,2&showposts=6'); ?> < ?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> < ?php if($post->post_category == 1) : ?>
    • < ?php else : ?>
    • < ?php endif; ?> < ?php the_title(); ?>
      < ?php echo substr(get_the_excerpt(), 0,110); ?> ...

    • < ?php endwhile; ?>

    Alternativamente, você poderia adicionar uma class de forma dinâmica para cada categoria, aqui estou baseando-a em slug mas a melhor solução pode ser basear no term_id Codex

     
      < ?php query_posts('cat=1,2&showposts=6'); ?> < ?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> < ?php $cat = get_the_category(); ?>
    • < ?php the_title(); ?>
      < ?php echo substr(get_the_excerpt(), 0,110); ?> ...

    • < ?php endwhile; ?>

    Se você é familiar o suficiente com o WordPress / php, você pode tirar uma chance ao adicionar um campo personalizado às suas categorias para adicionar colors lá. Aqui é como eu fiz isso