Вы находитесь на странице: 1из 4

Dicas b�sicas para o desenvolvimento de temas WordPress #2Aventure-se no c�digo!

,
Come�ando certo, Geral, Temas

Continuando a s�rie Dicas b�sicas para o desenvolvimento de temas WordPress, vamos


continuar falando de algumas dicas, truques e boas pr�ticas para o desenvolvimento
de temas. Vimos na primeira parte (nesse post) os seguintes itens:
*
O que � um tema WordPress;
*
Hierarquia e organiza��o dos arquivos;
*
Header;
*
Functions; e algumas
*
Principais fun��es.

Recomendamos que leia todos os posts dessa s�rie para uma melhor entendimento do
processo de desenvolvimento de temas para WordPress, e em caso de d�vidas fique a
vontade para perguntar na �rea de coment�rios logo abaixo do post. Comente tamb�m
caso tenha uma experi�ncia diferente nesse processo, compartilhe suas impress�es
nesse desenvolvimento.
Vamos iniciar conhecendo mais algumas fun��es importantes para o desenvolvimento de
temas.Mais fun��es
<?php the_content(); ?>
Dentro de um loop, use essa fun��o para exibir o conte�do do respectivo
post/p�gina, tudo que foi inserido na administra��o, no campo nativo de edi��o do
WordPress como m�dias, textos, v�deos e etc ser�o apresentados aqui. Caso deseje
apenas guardar o conte�do em uma vari�vel, voc� deve usar uma outra fun��o da
seguinte forma:
<?php $conteudo = get_the_content(); ?>
E assim voc� tem total controle para manipular seu conte�do antes de apresent�-lo.
<?php the_time( �m-d-y� ); ?>
Exibe a data do post/p�gina. Essa fun��o recebe par�metros para defini��o do
formato de data de acordo com os padr�es do PHP, voc� pode ver uma listagem
completa de formatos aqui.
E da mesma forma que a fun��o the_content(), se voc� precisar apenas armazenar em
uma vari�vel a data do post/p�gina, voc� deve usar outra fun��o dessa forma:
<?php $data = get_the_time('m-d-y'); ?>
<?php the_permalink(); ?>
Dentro de um loop, principalmente de um archive (arquivo de posts) ou uma listagem
simples de posts, para adicionar link ao post usamos essa fun��o, que imprime a url
do post, veja um exemplo de uso:
<a href="<?php the_permalink(); ?>">Nome do meu Post</a>
Caso tamb�m queira apenas armazenar a URL do post/p�gina em uma vari�vel, use a
seguinte fun��o:
<?php $url = get_permalink(); ?>
<?php the_category(�, �); ?>
Essa fun��o exibe link para a categoria ou categorias do post. Seu primeiro
par�metro � o separador, que, no caso de mais de uma categoria, ser� aplicado entre
elas.
Voc� tamb�m pode armazenar esse material dentro de uma vari�vel com a fun��o:
<?php get_the_category(); ?>
<?php the_author(); ?>
Exibe o autor do post/p�gina
<?php the_ID(); ?>
Exibe o ID do post/p�gina. Tamb�m pode usar a fun��o get_the_ID() para armazenar o
seu valor em uma vari�vel.
<?php edit_post_link(); ?>
Essa fun��o exibe um link para editar o post/p�gina. Esse link somente aparecer�
quando a pessoa que estiver logada tenha capacidades de editar aquele post.
<?php comments_template(); ?>
Essa fun��o parece muito com a get_template_parts() que j� comentamos, mas o
objetivo dela � simplesmente carregar o arquivo template dos coment�rios. Vale
ressaltar que ela n�o funciona em archives, apenas em p�ginas e single posts.
<?php wp_list_pages(); ?>
Com essa fun��o voc� exibe uma lista com as p�ginas do site.
<?php wp_list_cats(); ?>
Fun��o utilizada para criar uma lista de categorias.
<?php next_post_link(� %link �); ?>
Imprime o link para o pr�ximo post.
<?php previous_post_link(�%link�); ?>
Exibe um link para o post anterior.
E isso n�o � tudo, o WordPress possui uma infinidade de fun��es que podem (e devem)
ser usadas no desenvolvimento de temas (e plugins). Conhecer pelo menos o nome e
uma breve descri��o das fun��es do WordPress pode nos poupar tempo em criar alguma
solu��o, recorrendo a itens que outras pessoas j� desenvolveram e testaram
massivamente antes de tornar p�blico.
Caso queria estudar a partir da fonte, conhe�a o Codex do WordPress (e se
divirta).Fun��es Condicionais
Conhecer o conceito de condicionais vai te ajudar e muito no desenvolvimento de
temas, com fun��es condicionais, que � um conceito que vem das linguagens de
programa��o e o WordPress aprendeu e usou bem isso, voc� pode determinar quando uma
a��o (ou item) deve acontecer e sob quais circunst�ncias.
Vamos conhecer primeiramente a l�gica � para os mais familiarizados, isso se remete
ao famoso e bom if.
�A constru��o if executa uma atividade ou bloco de atividades somente se uma
determinada condi��o for verdadeira.�
Fun��es condicionais do WordPress
Dentre a infinidade de fun��es do WordPress, algumas delas est�o separadas em
grupos, como � o caso das Condicional Tags. Aqui apresento alguns exemplos dessas
fun��es que o WordPress possui e que s�o aliadas insepar�veis do if.
is_single() retorna true caso a p�gina sendo visualizada seja uma single.
is_page() retorna true caso a p�gina sendo visualizada seja uma page (p�gina). Voc�
pode usar como par�metro dessa fun��o o slug ou ID de uma p�gina, e ent�o a fun��o
apenas retornar� true caso seja uma p�gina e que possua a informa��o que forneceu
como par�metro.
is_archive() retorna true quando a p�gina visualizada for um arquivo de posts, de
qualquer tipo de post (CPTs por exemplo).
is_home() retorna true quando a p�gina visualizada for a home do site.
is_front_page() retorna true quando a p�gina visualizada foi definida como p�gina
est�tica (front page).
is_admin() retorna true quando o usu�rio est� navegando na administra��o do site
(wp-admin).
is_category() retorna true quando est� visualizando um arquivo de categorias.
is_page_template() essa fun��o recebe um par�metro com o nome do template que
deseja conferir se � o visualizado e ent�o retorna true.
Conhe�a (e estude) toda a lista de Condicional Tags no Codex do WordPress, nessa
p�gina.Criando uma fun��o condicional
Vimos acima uma s�rie de fun��es condicionais nativas do WordPress, mas podemos
tamb�m nos aventurar e criar nossas pr�prias func��es. A um (bom) tempo atr�s eu
encontrei uma forma de solucionar uma condicional que eu usava muito, que era saber
se determinado post pertencia a um certo Custom Post Type (CPT).

is_post_type()
function is_post_type( $tipo ){
global $wp_query;
if($tipo == get_post_type($wp_query->post->ID)) return true;
return false;
}
Explicando
A fun��o recebe um par�metro $tipo, onde compara com o valor de $wp_query->post->ID
que se for verdadeiro retorna true, caso contr�rio retorna false.
Como usar
Para utilizar essa fun��o, use os mesmos princ�pios das tags condicionais que vimos
acima, exemplo:

<?php if( is_post_type( 'seu_post_type' ) ){ ?>


...
<?php } ?>
Existe no Ideas do WordPress uma discuss�o de 2012 propondo exatamente a mesma
coisa, algumas pessoas interagiram com a conversa mas o item n�o foi absorvido pelo
core do WP, segundo pelas conversas porque existem fun��es equivalentes para isso,
que seriam a is_singular( 'post_type' ) e is_post_type_archive( 'post_type' ), mas
acredito que com essa fun��o acima podemos explorar ela em mais lugares, como por
exemplo dentro de um loop onde temos mais de um CPT, o que n�o � uma coisa incomum.
Ou mesmo como no pr�prio exemplo do Ideas onde poder�amos utilizar essa condicional
para remover ou adicionar scripts em determinados CPTs.
Criando e alocando algumas fun��es

Sempre temos que nos preocupar em manter os c�digos e a organiza��o de pastas e


arquivos o mais leg�veis e simples poss�vel, assim como j� falamos em outros posts
aqui no Bloglite tamb�m. E para continuar pensando dessa forma, podemos deixar
nosso arquivo functions.php organizado, utilizando do mesmo pensamento. N�o
precisamos adicionar absolutamente tudo diretamente nele, isso � um pensamento
comum e at� certo ponto eu entendo o porque, ele � um arquivo de carregamento
autom�tico, ou seja, basta adicion�-lo ao tema e o WordPress o adiciona na lista de
arquivos para ser carregado junto com os demais arquivos do tema.
O que podemos fazer �, imaginando que ao longo do desenvolvimento desse tema,
criaremos in�meras fun��es para melhorar nosso trabalho e o de quem futuramente
usar� o mesmo, criar arquivos auxiliares ao functions.php, e nele fazer apenas a
inclus�o do arquivo com um devido coment�rio.
A organiza��o que eu tenho feito � criar um arquivo chamado extras.php dentro da
pasta /inc, e ent�o fa�o a inclus�o no meu functions.php assim:
/**

* Adiciona arquivo com funcoes extras.


*/
require get_template_directory() . '/inc/extras.php';
Adicione nesse arquivo a fun��o is_post_type() que acabamos de criar acima.Suporte
a Multil�nguas
Outro item muito fundamental e quase obrigat�rio, � fazer com que seu tema tenha
suporte a m�ltiplos idiomas. Para que assim ele �fale� a mesma l�ngua que o
WordPress onde ele for adicionado.
Esse assunto � muito extenso e possui muitas possibilidades, mas vamos abordar aqui
o b�sico para fazer com que seu tema seja facilmente internacionalizado.
Passo a passo
1- Adicionando suporte ao tema
No functions.php vamos adicionar algumas fun��es que habilitam o tema a receber o
restante do procedimento e assim se tornar multil�nguas.

load_theme_textdomain( 'bloglite', TEMPLATEPATH.'/languages' );


$locale = get_locale();
$locale_file = TEMPLATEPATH."/languages/$locale.php";
if ( is_readable( $locale_file ) )
require_once( $locale_file );
2- Substituindo strings do tema
O que precisamos fazer agora, � substituir todas as strings to tema por fun��es de
GetText, existe dois tipos _e() que __(). A primeira para exibi��o de textos
simples e a segunda para ser usada quando a string j� est� em um trecho de PHP.

<?php _e( "A p�gina que procura n�o se encontra aqui", "bloglite" ); ?>
<?php the_content(__('Continue Lendo', "bloglite")); ?>
3- Criando o arquivo .po
Com as etapas anteriores prontas, o que precisamos agora � criar um arquivo .po,
usando para isso o editor PoEdit. Um aquivo com essa extens�o, nada mais � do que
uma esp�cie de dicion�rio, onde possui a string original, que est� no seu tema e
como ele ficar� em cada l�ngua (um idioma para cada arquivo).
Voc� pode scanear os arquivos do seu site no site icanlocalize.com que buscar� nos
arquivos PHP as strings que definimos no item 2.
Pronto, com isso seu tema poder� ser traduzido para qualquer l�ngua.

Вам также может понравиться