Aplicando estilos aos posts com a função post_class()

Ilustração por Cátia Kitahara

Ilustração por Cátia Kitahara

É bastante comum querer diferenciar os seus posts dos demais, dependendo da categoria ou mesmo da tag à qual eles pertencem. Agora que os posts fixos, ou sticky posts em inglês, são nativos no WordPress, também é comum querer diferenciá-los dos demais.

Na versão 2.7, essa tarefa tornou-se mais fácil com a introdução de uma nova função chamada post_class() que simplesmente adiciona classes ao post, facilitando a aplicação de estilos.

Para usá-la no seu tema, basta colocá-la no loop onde normalmente você colocaria suas classes. Por exemplo:

[sourcecode language='php']

Posts Relacionados

20 Comentários para "Aplicando estilos aos posts com a função post_class()"

  1. Pingback: Fazendo melhor uso dos sticky posts » Comunidade WordPress-BR

  2. Interessante essa função mas ainda estou na dúvida de como um post de determinada categoria ficaria com estilo diferente das demais. Poderia explicar por favor?
    Obrigado

  3. Diego,

    Depois, é só criar os estilos para suas classes. Simples assim!

    No arquivo style.css do seu tema você precisa adicionar a classe criada pelo WP para categorias, no caso category-x e adicionar os estilos que você quiser. Supondo que sua categoria se chame “bananas” e vc quer que o texto tenha cor preta. O WP criará a classe category-bananas. Aí no style.css vc acrescenta a classe:
    .category-bananas { color: #000 }

  4. Não quero ser chato, muito menos levantar uma confusão aqui, mas realmente o texto fico um pouco confuso. Porém temos que agradecer o autor por disponibilizar seu tempo e escrevê-lo.

    Emfim, é uma critica construtiva se olharmos que o texto poderia ser mais didático.

    Sei que quando escrevemos estamos nos disponibilizando para criticas, entao este e um toque. por favor nao me levem a mau.

    Abzs

    • Beto,
      Não me ofendo com críticas, mas para ser construtiva a crítica precisa apontar objetivamente qual o ponto negativo. Dizer apenas: “o texto ficou um pouco confuso” ou “poderia ser mais didático” é pouco para eu melhorar. O que ficou confuso? Qual parte você não entendeu? Porém, reitero que isso também depende do seu nível de conhecimento. Não vejo como ser mais didática, foi demonstrada a sintaxe da função, onde inseri-la (leia-se ctrl+c/ctrl+v) e quais classes ela cria. A não ser que você não saiba como criar e usar folhas de estilo ou criar temas, mas esse não é o objetivo desse post. Ele pretende apenas explicar a função.

  5. Tenho a impressão q meu comentário não foi bem aceito por vc, acho q não vale a pena se extender quanto a isso aqui, como já foi citado, este não é o objetivo do post.

    []s

  6. Impressão sua, Beto. Não entendo também como o post poderia ficar mais explicado, mas o meu é só mais um ponto de vista. Cê consegue dar um exemplo? Ajudaria bastante saber exatamente qual a dificuldade que o pessoal tá encontrando.

  7. Não achei nada de complicado no post. Talvez os que estão problemas para entendê-lo não tenham tanta vivência com o WordPress, e possivelmente com o PHP.

    De qualquer forma, também acho interessante que expressem suas dúvidas de forma mais clara, de preferẽncia, com argumentos, e com um pouco de respeito ao autor e aos leitores também. Acho que a intenção do site é ajudar, e a iniciativa merece ser considerada.

  8. Não creio q tenha ficado mal explicado, aliás, se eu tivesse um conhecimento mais aprofundado, certamente teria achado mais simples, porque a Cátia escreve muito bem e tenta facilitar ao máximo.
    Mas vale lembrar q isso n é um turorial passo a passo.. portanto, é bom ter um conhecimento prévio. ;)

  9. Creio eu que mais explicado é você pedir a senha de acesso ao FTP de cada um e colocar a função post_class() no tema da galera… Só pode!

    O mau dos usuários WP.org é a quantidade de plugins. Basta subí-lo – o que a maioria nem sabe como se faz, ativar e pronto. Quer dizer… Pronto quando não tem que se fazer quaisquer outras coisas, como no caso do WP-Email…

    Cátia, excelente artigo! Quem não achou é por ter se acostumado a receber tudo mastigado; sendo que o mais interessante é que não mastigam suas críticas, antes de TENTAR fazê-las.

    Se querem tudo explicadinho – ao conhecimento deles, por que não aprendem a se expressar melhor? Algo como “Eu não entendi a parte em que você disse que”… Simples!

    Focando no teu post; eu não conhecia essa função. Quando eu precisava de algo semelhante usava post_name; } ?><?php if (is_home('')) { echo "home"; } ? com ID, no body.

    Então, bastava eu estilizar tudo… Isto servindo para todas as páginas…

    Não sei se falei só besteira, pois ainda sou nível básico. Mas vai aí a dica!

  10. Huhauhauha!

    Me arrependo! Mas me arrependeria ainda mais se desse continuidade a uma discussão que não leva a canto algum. ;)

    []´s

  11. Pingback: Classes geradas pelo WordPress » Comunidade WordPress-BR

  12. Uma ótima dica e não vejo nenhuma dificuldade em entender, valeu pela ajuda e já até imagino como usar em meus projetos.
    Muito obrigado.

Comentários não são permitidos.