Novas Funções (Functions) do WordPress – Parte 1
Hoje vou trazer um pouquinho das novidades do WordPress 2.8, mais antes disso quero dar a minha avaliação sobre essa nova versão:
Realmente melhorou muito, algumas novidades são bastante úteis como, melhor gerenciamento de tags, adição de novos temas sem necessidade de ftp (basta ter o zip, fazer o upload e depois é só alegria) e muito mais. Pra mim a função de maior revelância foi a parte de plugins, buscar e instalar novos plugins rapidamente realmente merece destaque.
É claro que isso também é possivel com templates/temas, mas convenhamos, não vou trocar o template toda hora… com o plugins é mais bacana pois podemos incrementar nosso website.
Pontos que deixaram a desejar também há, vou falar somente um. Quando você arasta um widget para a sidebar ele automaticamente salva mais não exibe nenhum alerta, o mesmo acontece quando se altera um widget. De qualquer modo parabéns a equipe do WordPress…
Voltando para as novas função do WordPress 2.8 mais especificamente para o desenvolvimento de templates, existem algumas functions bacanas e que vem a calhar, dentre as que eu conheço vou falar sobre:
- body_class();
- is_page ou is_page_or_sub();
- is_category_or_sub
- Talvez mais…
Vai ser muita coisa então vou dividir em partes pra não ficar cansativo. Hoje vamos falar sobre a function body_class();.
Function body_class();.
Funciona basicamente assim, cada página tera uma classe que a identifica, exemplo:
<body class="single postid-64">
Ou seja, uma página com 2 classe para maior manipulação. Mas pra que isso você pode me perguntar… é mais para personalização com CSS, neste exemplo podemos criar um fundo (background) diferente para as páginas de posts (single) ou então somente para o post de número 64. Outro exemplo desta função seria para usuários registrados, ficaria algo mais ou menos assim:
<body class="single postid-64 logged-in">
Confira a lista completa de possibilidades:
- rtl
- home
- blog
- archive
- date
- search
- paged
- attachment
- error404
- single postid-(id)
- attachmentid-(id)
- attachment-(mime-type)
- author
- author-(user_nicename)
- category
- category-(slug)
- tag
- tag-(slug)
- page
- page-parent
- page-child parent-pageid-(id)
- page-template page-template-(template file name)
- search-results
- search-no-results
- logged-in
- paged-(page number)
- single-paged-(page number)
- page-paged-(page number)
- category-paged-(page number)
- tag-paged-(page number)
- date-paged-(page number)
- author-paged-(page number)
- search-paged-(page number)
Como usar esta função?
Antes de mais nada, precisamos localizar a tag body em nosso template, geralmente fica no arquivo header.php, feito isso subistitua <body> por:
<body <?php body_class(); ?>>
Salve o arquivo e pronto, nossa função já está funcionando.
Usando estilos dinâmicos – CSS
Geralmente quando vamos fazer o CSS de um website fazemos assim:
body{ background: #dddddd; font-size: 14px; font-family: Arial, Helvetica, sans-serif; color: #1c1d21;}
Agora considere o seguinte, supondo que o a classe gerada seja uma página de post, logo será .single. O que temos que fazer:
body.single{ background: #aaaaaa; font-size: 14px; font-family: Arial, Helvetica, sans-serif; color: #1c1d21; }
Neste exemplo eu somente mudei o fundo de #dddddd para #aaaaaa… lembrando que o backgroud com a cor #aaaaaa aparecerá somente nas páginas de post. Pegou o espírito da coisa? Fácil não?
Espero que tenham entendido, qualquer dúvida ou sugestão, é só comentar!
2 Comentários
Hugo Luis disse:
31 de julho de 2009 às 14:42
Muito bom mesmo..
Parabéns amigo Mateus, pela sua belíssima atuação em seu tutorial explicando uma das funções designadas que o wordpress 2.8 está trazendo =]
visto que como sempre a equipe do wordpress cada vez mais inovando.
Felipe Marcelino disse:
24 de novembro de 2009 às 10:32
Valeu pelas dicas cara …
tava me batendo um pouco pra mudar o body das outras páginas … ai vi aqui q faltava colocar isso no header …<body >
Abraços Obrigado e sucesso