fonte: Blog Negócios na Net
O WordPress é uma ferramenta do tipo CMS, extremamente versátil e poderoso na sua capacidade de armazenar e exibir resultados provenientes da produção dinâmica de informação. É assim possível customizar, através dos filtros adequados, aquilo que é mostrado. No entanto a “Home Page”, sendo a “rosto” do site, pode recorrer a algumas rotinas extra em PHP que levam um pouco mais além essa tarefa de se conseguir que o WordPress mostre esse “rosto” de uma maneira totalmente única e personalizada, diferente das demais páginas.
Isto seja no que respeita aos conteúdos, ou seja no que respeita à forma (“layout”) visto que, em conjugação com as “folhas de estilo”, é possível alterar o aspecto gráfico, fora e dentro da “home page”, consoante as conveniências, criando assim um site de “geometria variável”.
Customizar a Home do WordPress
Começo por referir que é de todo interesse pôr o PHP a trabalhar no computador de casa para esta tarefa, com os servidores adequados e cuja instalação já explicamos noutro artigo; tarefa simples e de fácil execução e muito importante para evitar fazer “crashar” o site quando este está online. Partindo do princípio que isto já está feito, aqui seguem as ideias.
1. Tirar partido das meta keys
As “meta keys” estão disponíveis nos campos personalizados de cada “post”. Podemos criar as “meta keys” que quisermos, passando estas a constituir um elemento adicional na filtragem da informação produzida pelo blog. Vamos então criar uma “meta key” chamada pagina1; ela terá dois valores possíveis: 1 e zero (em branco). O valor “1″ significa que o “post” em questão será exibido na home page. Provavelmente, dependendo do template que estiver a usar, a exibição dos ficheiros da “home” fica por conta do ficheiro index.php. Assim neste iremos colocar esta rotina, antes dos artigos começarem a ser “descarregados”:
<?php if (is_home()) : ?>
<?php query_posts(‘meta_key=pagina1&meta_value=1′); ?>
<?php if (have_posts()): ?>
<? while (have_posts()) : the_post(); ?>
<a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a>
<?php the_content(‘Continue a Ler’); ?> <!– ou em alternativa <?php the_excerpt(); ?> –>
<?php endwhile; ?>
<?php endif; ?>
<?php endif; ?>
O que é feito em cima, então? Se se estive na “home” (note que o ficheiro index.php pode ser usado para executar outras tarefas de exibição fora da “home page” – donde o comando <?php if (is_home()) : ?> – o programa vai verificar se o “post” tem a meta key “pagina1″ com o valor 1, sendo somente estes artigos exibidos.
Deste modo apenas determinados artigos, independentemente da sua data, autor, “etiqueta” ou categoria, serão mostrados na página principal.
2. Usar o operador incremental
Suponhamos agora que se pretendia personalizar o “layout” da página principal, alterando-a no sentido de ela exibir determinadas opções extra, mostrar ou não mostrar publicidade, evidenciar determinadas categorias de artigos com elementos gráficos suplementares, etc.
Normalmente poderá realizar esta tarefa recorrendo aos “widgets” na barra lateral sem mexer no código. Mas se pretender alterar algo dentro da zona do “miolo” da página já as coisas não são assim tão fáceis, mas mesmo assim nada demais. Então vamos lá:
<?php query_posts(‘meta_key=pagina1&meta_value=1′); ?>
<?php if (have_posts()): ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
Introduziu-se agora um novo elemento que foi pôr o PHP dentro do loop que procede à exibição dos posts a fazer uma contagem incremental dos mesmos através da instrução <?php $count++; ?>. De seguida:
<?php if ($count < 2) : ?>
<!– Se for depois do primeiro post faz o que vier a seguir –>
<?php else : ?>
<!– Exibe os outros posts depois do primeiro –>
<?php endif; ?>
No caso acima a seguir ao primeiro artigo “especial” da Página Um aparece uma área para colocação de o que quer que seja “interrompendo” o loop de exibição dos “posts”. De seguida o mesmo continua normalmente a não ser que apareça um novo if($count xx) com outro valor qualquer.
3. Recorrer a operadores lógicos
Note que o que se disse atrás é válido para qualquer outro ficheiro, como por exemplo o do “header” (cabeçalho da página), sendo igualmente possível alterar aqui uma série de elementos através das condições adequadas para que a “home page” do site seja exibida de uma forma personalizada (customizada) e diferente das demais páginas que o compõem.
Vamos então agora modificar o header.php para que ele também apresente um layout autónomo na “home” do nosso blog WordPress. Haveria muitas alternativas, claro, mas aqui vai um exemplo:
<?php if (!is_home()){ ?>
<div id=”tomenota_!h”> <!– Caixa especial a aparecer fora da home –>
<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(“topo”) ) : ?>
<?php endif; ?>
</div>
<?php } else { ?>
<!– o que faz se estiver na home –>
<?php } ?>
Nem imagina a quantidade enorme de coisas que estas 7 linhas de código podem fazer por si .
Assim, mais uma vez, e neste caso se não estiver na “home page” – donde o !is_home() – oPHP vai buscar ao ficheiro que contem as “stylesheets“ o selector “tomenota_!h” que produz um determinado “layout”, coloca uma imagem de fundo, enfim o que decidir, no cabeçalho da página.
Em sequência abre aí uma área para posicionar um “widget” (com o nome de “topo”) – sendo este próprio formatado através das folhas de estilo1 – para, por exemplo, inserir um “banner publicitário” ou outra mensagem especial, neste caso, como se disse, apenas fora da “home page”.
Et voilà! Com estas três sugestões simples, usando um conhecimento mínimo de programação em PHP, é possível alterar o seu template de modo a dar à “home” um aspecto diferente das restantes páginas. Não se esqueça, en todo o caso, de fazer cópias de segurança dos ficheiros que quiser editar2, porque qualquer modificação mal feita (basta esquecer-se de uma chaveta…) vai “crashar” imediatamente o programa e isso não queremos que aconteça…
Não dei autorização para copiar este artigo. Deverá retirá-lo imediatamente. Se quiser escreva um. Não roube o trabalho dos outros.
Se não o retirar no prazo de 24 horas serei obrigado a tomar outras medidas.
Sempre me surpreendo com o alcance da burrice e ignorância humana… Nem vou entrar na questão das vantagens do referenciamento direto do link (backlinks) , para o seu endereço, haja vista que as indicações de fonte, formato e autoria foram preservados (à exceção de erros crassos de português que tive que corrigir). Tão pouco vou falar na estrutura conceitual do hipertexto, conceito de compartilhamento digital, blogs, deeplinking ou ausência de um contrato de divulgação em seu blog (pois, como já diz a sabedoria popular: Nunca discuta com um idiota).
Em tempo, somente um mente-capto, muito burro ou doente mental descreveria o referenciamento direto e integral como roubo… Não houve apropriação, descaracterização ou aferição direta de vantagem na referida “obra” . Eu poderia retirar a referência ao seu artigo tranquilamente, mas fiquei curioso e adoraria que vc tomasse as “outras medidas”; Por favor não espere as 24 horas para tomar ‘suas medidas’. Adoraria descrever mais a fundo sua sandice na réplica de uma eventual ação penal (cobrando, obviamente, reparações pela acusação de roubo qualidicado).
Sem mais
Sempre me surpreendo com o alcance da burrice e ignorância humana… Nem vou entrar na questão das vantagens do referenciamento direto do link (backlinks) , para o seu endereço, haja vista que as indicações de fonte, formato e autoria foram preservados (à exceção de erros crassos de português que tive que corrigir).
Tão pouco vou falar na estrutura conceitual do hipertexto, conceito de compartilhamento digital, blogs, deeplinking ou ausência de um contrato de divulgação em seu blog (pois, como já diz a sabedoria popular: Nunca discuta com um idiota).
Em tempo, somente um mente-capto, muito burro ou doente mental descreveria o referenciamento direto e integral como roubo… Não houve apropriação, descaracterização ou aferição direta de vantagem na referida “obra” .
Eu poderia retirar a referência ao seu artigo tranquilamente, mas fiquei curioso e adoraria que vc tomasse as “outras medidas”. Por favor não espere as 24 horas para tomar ‘suas medidas’. Adoraria descrever mais a fundo sua sandice na réplica de uma eventual ação penal (cobrando, obviamente, reparações pela acusação de roubo qualidicado).