Dicas para lidar com trolls

Se você tem um blog que recebe comentários, certamente já se deparou ou algum dia se deparará com trolls. Troll é a alcunha dada àqueles que entram em discussões não para defender pontos de vista, nem para discutir saudavelmente, mas apenas para causar tumulto. Ele nunca concorda com nada, sempre critica negativamente o trabalho, agride os demais comentaristas e o blogger, enfim, cria o caos. Se for uma gangue de trolls, então, o problema é multiplicado.

Troll.

Troll.

O termo “troll” vem da mitologia nórdica, e refere-se a uma raça de terrívels e maldosos gigantes que habitavam cavernas nas colinas. Numa analogia mais próxima do mundo ocidental, o troll assemelha-se bastante ao ogro, famoso por conta do filme Shrek. Mas o próprio troll também tem sua cota de fama, graças a J. R. R. Tolkien e sua inclusão no best seller O Senhor dos AnéisPor conta dessa agressividade e animosidade do troll “de verdade”, adotou-se o termo para internautas que agem de maneira similar na frente de um monitor.

Lidar com trolls é chato e desgastante, mas existem algumas dicas, que recaem mais na engenharia social do que em WordPress e programação, que surtem efeitos animadores. Tenho problemas do tipo especialmente no WinAjuda. Se escrevo algo elogiando o Windows, ou então qualquer (note bem: qualquer) texto sobre um navegador específico, a guerra começa nos comentários. Ultimamente tenho levado vantagem nessa disputa, e explicarei, agora, minhas táticas.

A primeira e mais importante dica é: não alimente trolls. Essas pessoas são movidas pelo contraditório, e como não têm argumentos, vivem da raiva que provocam nos outros. Se um escreve alguma babaquice, e vinte outros comentaristas o respondem, ele se sente no centro das atenções, e continua os ataques, formando um ciclo infinito que o levará à loucura. Se em discussões entre pessoas civilizadas raramente um dá o braço a torcer, imagine discutindo com um troll? Iniciar uma discussão pode ser um caminho sem volta…

A próxima dica, então, tem relação direta com a de cima: apague comentários de trolls. Isso corta o problema pela raiz, não dá brecha para discussões intermináveis e desagradáveis, e atinge o troll no ponto em que mais dói: sua liberdade de se expressar em seu blog. Quando isso acontece, o argumento do troll muda. Ele clama pela Constituição, o sagrado direito de liberdade de expressão, a democracia do blog, que o blogger é ditador, e essas abobrinhas do tipo. Exemplo prático:

Troll bravinho.

Troll bravinho.

Deixe ele falar sozinho. Não sei quanto a vocês, mas meu blog não é terra de ninguém. Eu, como administrador, respondo por tudo que é veiculado ali, inclusive UGC. Portanto, me dou o direito de decidir o que é e o que não é publicado.

Veja que esse pulso firme recai apenas sobre trolls. Não apago comentários contrários aos meus posicionamentos, nem que apontem erros em meus posts. Embora tenha essa liberdade, e, numa análise fria, não haja nada de errado com isso, não é justo para com meus leitores. Há que se separar leitores de trolls; os últimos não merecem crédito, querem apenas destruir. Respondo na mesma moeda.

Ao apagar o comentário do troll, prepare-se para o revide. Ele virá com tudo, mandando um mesmo comentário-resposta várias vezes, apelando para a democracia (exemplo acima), ou partindo logo para a ignorância, como esse outro exemplo:

Que mensagem linda :-) .

Bela argumentação, hein?

É hora de bloquear o troll. O WordPress possui um sistema de bloqueio de comentários nativo, que consegue barrar os baderneiros em 90% dos casos. A menos que ele seja esperto o suficiente para reconhecer o padrão de bloqueio, e mais ainda para alterar o próprio IP, funciona. Desde que comecei a aplica esses procedimentos descritos no post, nenhum troll conseguiu burlar esse bloqueio simples.

Na área administrativa do WordPress, entre em Settings, depois em Discussion. No campo Comment Moderation, há uma textarea bem grande. Tudo que for colocado ali, caso conste n’algum comentário, mandará esse para a moderação. Assim sendo, abra a página de comentários, e insira nome, e-mail e IP do troll nessa lista. Não se esqueça de salvar as alterações (botão Save Changes).

Comentários de trolls caem na moderação.

Comentários de trolls caem na moderação.

E, assim, provavelmente seus problemas com trolls diminuirão. Esteja sempre alerta, procure meios não convencionais de lidar com eles, sempre evitando o combate direto, e use o bom senso. Essas são as melhores armas contra os trolls, a escória da Internet.

Como migrar um blog WordPress para a (mt) Media Temple?

Houve uma época em que a Dreamhost despontou como o Olimpo para blogs médios e grandes. Limites de transferência na casa dos TB, espaço em disco a perder de vista, domínios praticamente ilimitados… Na teoria, realmente, é o paraíso. Mas, tal qual a Tekpix nos ensina todos os dias, quando a oferta é muito boa, deve-se desconfiar. E quem migrou blogs de grande visitação para lá logo viu que, afinal, o paraíso não é tão agradável como pintam.

Com trocentos sites hospedados por máquina, os limites generosos da Dreamhost empacam em limitações físicas dos servidores. Se seu site sobrecarrega, recebe um Digg-effect, ou simplesmente tem visitação acima do irrisório, o servidor em que ele está hospedado pede água e você começa a incomodar os nanicos que estão na mesma máquina. E isso é só o começo da dor de cabeça…

(mt) Media Temple.

(mt) Media Temple.

Recentemente, a (mt) Media Temple surgiu como uma alternativa “premium” à Dreamhost. O preço é um pouquinho mais elevado (começa em U$ 20,00/mês), mas em compensação os servidores aguentam o tranco melhor. Então, após ouvir muitas críticas positivas de amigos e contatos, assim que o WinAjuda saiu do iG, imediatamente assinei um plano com a (mt).

Backup feito, chegava a temida hora da restauração no novo servidor. Bati muito a cabeça, perdi dois dias e uma noite, mas, afinal, consegui. Ou melhor, conseguimos. Não fosse a imprescindível ajuda de vários amigos que se dispuseram a encarar esse desafio comigo, certamente ainda estaria com o site fora do ar e passando raiva. Agradecimento especial ao Vinícius Figueiredo, que matou a charada e permitiu a restauração perfeita do blog no novo servidor.

Para ajudar quem, porventura, migre para a (mt) algum dia, e de quebra contar a saga da migração, eis o post que você está lendo. Prontos para começar? Então vamos!

Backup

No servidor antigo, não tinha acesso aos bancos de dados pelo phpMyAdmin. Podia conectar-me a eles, mas através de um front end externo, como o MySQL-Front. A primeira tentativa de backup foi por ele. Frustrada. Não sei por qual motivo, mas os caracteres especiais (ã, é, ç) corrompiam durante o backup. Mostrou-se totalmente inútil.

Então, lembrei-me de um plugin muito útil para WordPress, o WP-BD-Backup. Com ele o backup ficou perfeito, com caracteres especiais mantidos, como deve ser. Então, fica a dica: tenha sempre esse plugin instalado e faça backups regulares do seu blog!

De resto, baixei temas, plugins e os arquivos da pasta /wp-content/uploads/. Há quem prefira baixar o WordPress inteiro do servidor antigo, mas não acho necessário. Nem mesmo plugins e temas o são. Baixei mesmo só por comodidade – tanto que reinstalei os plugins manualmente depois, e só restaurei um tema, o que está em uso.

Preparação

É preciso criar um banco de dados na hospedagem nova. Isso é bem simples na (mt), o painel é intuitivo e fácil, e se você está fazendo essa migração sozinho(a), certamente sabe como proceder. O usuário do BD é assimilado automaticamente aos bancos criados, então, não precisa preocupar-se com isso. Os dados de usuário, senha e host vêm na carta de ativação da hospedagem.

Se quiser, pode enviar os arquivos do WordPress para o servidor antes de proceder à restauração do banco de dados. Só bloqueie a instalação de alguma maneira, para evitar que algum engraçadinho fique brincando. Por exemplo, renomeie a pasta /wp-admin/, ou então o arquivo wp-config.php.

O banco de dados salvo pelo WP-BD-Backup vem compactador (*.tar.gz). É necessário descompactá-lo, algo que qualquer programa do gênero decente (7-Zip, WinRAR) faz sem maiores problemas. Feito isso, envie o arquivo *.sql para a pasta html do seu domínio, na (mt).

phpMyAdmin ou SSH?

A (mt) possui phpMyAdmin, mas ele é meio inútil para importação de bancos, afinal, só funciona com BDs que tenham menos de 10 MB. O do WinAjuda tem 40 MB, então… passei.

A outra maneira de restaurar bancos de dados é via SSH. Pode ser um bicho de sete cabeça para muita gente (eu incluso), mas é possível domá-lo, principalmente pela excelente documentação da hospedagem.

Antes de qualquer coisa, é preciso habilitar SSH na sua conta. Por questões de segurança, esse recurso vem desabilitado por padrão. No painel administrativo, clique em Server Administrator. Na próxima tela, marque a opção Enable para SSH options, e clique em Save. Pronto!

Para conectar via SSH, no caso do Windows, é preciso um programa de terceiro. O PuTTy é o que eu conheço, e funciona bem. Baixe-o, e prepare-se: a migração vai começar!

Restaurando um banco de dados através do PuTTy

A primeira conexão, provavelmente, falhará. Abra o PuTTy, e em Host Name, escreva o endereço do seu servidor na (mt). Ele provavelmente segue esse formato: sXXXXX.gridserver.com. Deixe a porta 22, do jeito que está, e marque a opção SSH. Tente conectar. Para tal, use seu domínio principal sem “www” como login, e a senha geral, a mesma dos outros serviços (FTP, MySQL, etc.). Não deu, né?

Normal. É preciso liberar seu IP no painel administrativo da hospedagem. Faça login novamente no painel, e ao entrar lá, um popup surgirá informando que houve uma tentativa de conexão via SSH. Do lado direito, há um botão escrito Unblock. Clique nele, aguarde 10 minutos e tente conectar novamente. Agora vai.

Usuários pós-Windows 95 sentirão calafrios ao ver essa tela:

PuTTy em ação.

PuTTy em ação.

Não é preciso ser fera, basta conhecer alguns comandos:

  • ls: lista arquivos e diretórios (pastas);
  • cd [nome do diretório]: acessa diretório especificado.

Para o que vamos fazer, isso é mais que suficiente. Navegue até a pasta html do seu domínio. Para encurtar a história, digite isso e dê Enter no final:

cd domains/dominio.com/html

Substitua “dominio.com” pelo seu domínio (Mr. Óbvio ataca novamente!). Dê um ls, e você verá a estrutura de arquivos e diretórios. Dentre eles, deve estar o banco de dados enviado antes de começarmos isso tudo. Está lá? Pois agora basta chamar o mysql para fazer o trabalho. E é aqui que está o pulo do gato.

A documentação da (mt) passa esse comando (NÃO O EXECUTE!):

mysql -u Username -p dbname < dbname.sql

Fiz e refiz ele mais de dez vezes, e em todas os caracteres corromperam. Mudei o charset do banco, mas nada de funcionar. Aí apareceu o Vinícius, e deu a dica: “obrigar” o importador a fazer o processo usando UTF-8. Bastou um adendo à sintaxe acima, e tudo funcionou maravilhosamente bem. Então, anotem essa sintaxe e guardem-na com suas vidas (ESTE É O COMANDO CERTO):

mysql -u Username -p --default_character_set utf8 dbname < dbname.sql

O comando --default_character_set utf8 (dois hífens no começo) força o banco de dados a usar UTF-8, e com isso, os acentos aparecem corretamente. O mais interessante é que essa dica funciona para qualquer banco de dados com caracteres especiais. Horas mais tarde, fiz o mesmo procedimento com o phpBB (sistema de fóruns), e funcionou de primeira. Senti um alívio tremendo quando abri o phpMyAdmin e vi um “Ícones do Office…” na tabela de posts do banco de dados :-) .

A dica acima vale para o plano de hospedagem compartilhada, o (gs) Grid-Service. Nos demais planos, o procedimento, se não for igual, é parecido.

Espero que o tutorial seja útil a quem, algum dia, pretender migrar um banco de dados grande. Embora a dica seja baseada na (mt) Media Temple, ela funciona em qualquer hospedagem que ofereça acesso via SSH.

Como configurar um Portfolio usando o WordPress

Algumas semanas atrás escrevi o post Crie um Portfolio usando o WordPress e neste post exibi vários temas criados especificamente para serem utilizados em portfolios. Como a maioria destes temas possuem um certo grau de dificuldade para configurar, criei uma enquete para que vocês mesmos decidissem qual seria o tema preferido para elaboração de um tutorial. O tema vencedor foi o Gallery, que apesar de uma tentativa de manipulação da enquete (percebi através do log de votos), foi o escolhido por 36 leitores do pBlog.

Tema Gallery | Demo | Download
tema-portfolio-gallery

Vamos então por a mão na massa. Os primeiros passos são:

  • Fazer o download do tema Gallery e descompactá-lo;
  • Fazer o download do tema Thematic (framework no qual o Gallery foi baseado) e também descompactá-lo.
  • Através de um programa de FTP fazer o upload das pastas gallery e thematic para a pasta “wp-content/themes/” no servidor do seu WordPress;
  • Na administração do seu blog, acessar o menu “Aparência/Temas” e ativar o tema Gallery;
  • Por último você deverá configurar a quantidade de itens que será exibido na página principal. Ainda na administração acesse o menu “Configurações/Leitura” e altere o valor do campo “As páginas do blog mostram no máximo” para 28 (4 linhas) ou 35 (5 linhas).

Feito isso você agora saberá como adicionar um item à galeria deste tema. O processo é bastante simples, diferenciando-se apenas pela inclusão de alguns campos personalizados. Vamos ao passo-a-passo.

  • Primeiro tenha em mãos duas imagens do item que será adicionado, uma com a dimensão 125×125 pixels, este será o thumbnail exibido na página principal e outra imagem com 500×375 pixels, que será exibida na página do post. Você também poderá configurar o WordPress para que gere automaticamente as imagens com estas dimensões, para isso acesse o menu “Configurações/Mídia” e configure o tamanho das imagens;
  • Clique no menu “Post/Adicionar novo” e adicione o título e o conteúdo sobre o item;
  • Faça o upload de ambas as imagens e salve suas URL’s;
  • Em seguida preencha o formulário exibido logo abaixo do campo de conteúdo chamado “Gallery Post Settings“. No campo “Path to Full-Size Image” insira a URL completa da imagem maior (500x375px) e no campo logo abaixo, “Path to Thumbnail Image”, insira a URL completa da imagem menor (125x125px);
  • Opcionalmente você também poderá preencher os campos “Designed by” e “Website URL”.
Gallery Post Settings

Gallery Post Settings

Fácil não? :) E para ter a certeza de que tudo funcionaria conforme as instruções, instalei um WordPress no subdomínio http://teste.pblog.com.br, copiei o tema para lá e configurei-o por completo. Faça uma visita e veja como ficou. Outra coisa use e abuse dos widgets neste tema, foram configurados em vários locais. Neste teste, por exemplo, eu adicionei três widgets no 1st Subsidiary Aside.

De agora em diante utilizarei o subdomínio http://teste.pblog.com.br para testar novas versões do WP, temas e plugins, por isso se você estiver lendo este post algum tempo depois desta publicação é provável que não verá mais o tema Gallery neste endereço.

Como Instalar e Configurar o Plugin WP Super Cache

Os plugins de cache possuem a função de gerar páginas estáticas HTML a partir das páginas dinâmicas do site. Seu objetivo é diminuir drasticamente o tempo de carregamento da página, a sobrecarga do processador e reduzir a quantidade de acessos ao banco de dados. Existem vários plugins de cache para WordPress, porém o WP Super Cache é o mais recomendado e consequentemente mais utilizado, por esse motivo resolvi escolhê-lo para exemplificar este pequeno tutorial.

Antes de instalar o plugin é necessário verificar se o seu servidor Apache possui instalado os módulos mod mime e mod rewrite (entre em contato com o suporte da sua hospedagem caso você não saiba) e os permalinks configurados no modo personalizado (URL amigável). Despois destas verificações é hora de instalar o plugin, primeiro faça o download, descompacte-o e envie por FTP para a pasta wp-content/plugins do servidor. Em seguida acesse a página Plugins na administração do WordPress e ative o plugin. Agora clique no menu Configurações -> WP Super Cache, escolha a opção ON em WP Super Cache Status e por último clique no botão Update Status. Feito isso, verifique se foi criado o arquivo .htaccess na raiz do servidor com o seguinte conteúdo:

-----------------.htaccess-----------------
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{QUERY_STRING} !.*attachment_id=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
-----------------.htaccess-----------------

Verifique também se foi criado o arquivo wp-content/cache/.htaccess com o seguinte conteúdo (caso não tenha sido criado, faça-o manualmente):

# BEGIN supercache
<IfModule mod_mime.c>
  AddEncoding gzip .gz
  AddType text/html .gz
</IfModule>
<IfModule mod_deflate.c>
  SetEnvIfNoCase Request_URI \.gz$ no-gzip
</IfModule>
<IfModule mod_headers.c>
  Header set Cache-Control 'max-age=300, must-revalidate'
</IfModule>
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/html A300
</IfModule>

# END supercache

Pronto, se não foi exibida nenhuma mensagem de erro, o plugin de cache já estará funcionando perfeitamente. De agora em diante sempre que um visitante acessar uma página pela primeira vez será gerado um arquivo HTML, para todos os demais visitantes que acessarem esta mesma página será exibida a versão HTML, porém existe algumas condições, o visitante:

  1. Não estava logado;
  2. Não escreveu um comentário;
  3. Ou não acessou uma página protegida por senha.

Pode parecer restritivo, mas 99% dos visitantes não faz nenhuma destas ações e é por isso que o plugin torna-se tão eficiente! :)

Caso tenha ocorrido algum erro durante a instalação do plugin recomendo você dar uma olhada na seção Troubleshooting na página do plugin e/ou utilizar nosso fórum.

Associando posts com páginas

Primeiramente: Oi e desculpe. Faz muito tempo desde meu último post, na verdade faz muito tempo que não posto em lugar nenhum (incluindo a comunidade do WordPress Brasil que nunca mais “pisei lá”). Bom, minhas horas vagas que normalmente utilizaria para postar em fóruns e no meu site ocupo com outros afazeres de fim de ano, ainda não consegui arranjar tempo para botar meu site de volta no ar e minha pauta no trabalho só cresce. Mas enfim, estou aqui e tenho uma ótima dica pra dividir com vocês, é muito simples e muito útil, tive que usar recentemente para criar um sistema de FAQ pelo gerenciador do WP. Então vamos ao que interessa.
É de conhecimento de todos (ou quase todos) que utilizam o WP que ao criar um página é possível encaixar ela dentro de outra página, a chamada hierarquia de mãe e filhos (mother and children). É muito simples, porém útil. A idéia é basicamente criar uma página que poderá ser filha de outra página ou não. Ou seja, se ela não for filha de nenhuma página ela estará na raiz da hierarquia, mas se ela for uma página filha ela estará associada a uma outra página, assim estando abaixo dela. Um exemplo de hierarquia:

  • Sobre nós (mãe na raíz)
    • Parceiros (filho de “Sobre nós”)
    • Organização (filho de “Sobre nós” e mãe de “Funcionários”)
      • Funcionários (filho de “Organização”)
    • Compromissos (filho de “Sobre nós”)

Bom, agora que entenderam a idéia de mother and children, vamos a próxima explicação: Quando escrevemos um post relacionamos categorias a ele, essa é a hierarquia de associação de posts, ou seja, para as páginas o método de associação é M&C (mother and children) enquanto que em posts são as categorias. Got it? Pois bem, o princípio dessa dica é poder além de associar posts a categorias, associar posts a páginas. O “custo” para criar um plugin que faça isso é praticamente zero, tudo já fornecido pelo WordPress. A idéia é replicar o método de associação de páginas M&C para funcionar em posts. Essa é a hora que você pergunta: Com qual propósito? E eu repondo: Lembra da hierarquia exemplo que eu passei logo acima, imagine que você faz o layout da página Funcionários, não seria bacana criar posts com o titulo do nome do funcionário e uma descrição sobre ele e associar esses posts a página “Funcionários” e listar os mesmos, ao invés de criar a categoria “Funcionários” ou uma outra página? Assim podendo selecionar categorias para esse post. Pois bem, esse é o propósito dessa dica. Eu criei um plugin simples que faz exatamente isso. Sabia que se você associar um post a uma página ou uma página a outra página sai mais barato para o MySQL realizar essa consulta? A consulta Página e filhos sejam os filhos posts ou páginas, retorna mais rápido do que uma consulta com categorias, onde a associação de post e categoria envolve mais duas tabelas além da dos posts, ao contrário de uma associação do tipo M&C que envolve só a tabela dos posts. Resumindo, é mais viável associar um post a uma página e puxar por ela, do que associar a uma categoria, mas é necessário uma visão de praticidade também, às vezes, dependendo da utilização das categorias é mais prático utilizar categorias do que páginas, e outras é mais prático utilizar as próprias páginas dentro da página do que associas posts a elas. É preciso ter visão! Agora vamos a utilização do plugin…

Clique aqui para fazer o download da versão 1.0

Ao baixar, passar para o diretório “wp-contents/plugins” e ativá-lo você poderá editar ou criar um post e visualizará abaixo de tags uma caixa com o título “Associar a uma página”, é ai que você associa o post a uma página. Pronto, agora que sabe como associar, vamos ver como pegar essas associações. Abra o template de alguma página ou o arquivo de template padrão de páginas do WordPress “page.php” e adicione entre as funções while e endwhile uma nova while com a função have_children(), ficando algo semelhante a isso:


Posts relacionados:

1) : ?>

Nao ha posts para esta pagina na pagina "".


Essa página não contém nenhuma associação com outros posts.
the_content();
?>

Muito fácil, não?  Essa função have_posts_children() propriamente dita é um get_posts() que pega o ID da página exibida no while com have_posts() e através de um novo while lista os posts associados. A função continue_have_posts() serve para continuar a puxar as informações da página depois que você lista todos os posts relacionados a página, isso quer dizer que você pode fazer até uma paginação dentro da página com os posts relacionados e depois que colocar a função de paginação você coloca a função continue_have_posts() e continua a puxar as informações da página normalmente. Você também pode substituir a função while por foreach definindo o valor true dentro da função have_posts_children(). Assim:


Posts da categoria:


Essa página não contém nenhuma associação com outros posts.



A página que você está tentando acessar não existe.

Lembrando que na função have_posts_children() você pode usar os parâmetros de query_posts(), ou seja, a função have_posts_children() é quase como um segundo query_posts(), onde há um parâmetro padrão que justifica o relacionamento entre posts e outras páginas (ou outros posts também). Esse parâmetro é “post_parent=%” onde no lugar de “%” vai o ID da página citado em have_posts(). Para desativar, esse “post_parent” que é definido por padrão na função e usar have_posts_children() exatamente como uma segunda query, basta definir:



Ficando algo assim:



query_posts_children('post_parent=false');
if(have_posts_children()) : ?>

Todos os posts do site sem precisar ter nenhum relação):


Essa página não contém nenhuma associação com outros posts.



A página que você está tentando acessar não existe.

É ai que entra uma outra função query_posts_children(), ela funciona mais ou menos como query_posts() sobre have_posts(). Só que essa função funciona apenas sobre have_posts_children().

Como havia dito, por padrão have_posts_children() pega os posts associados via parâmetro “post_parent”. Então se associarmos um post em uma página “X”, e associarmos este mesmo post a uma categoria “Y”, podemos puxar via have_posts_children() os posts associados com a página “X” e com a categoria “Y”, através da função query_posts_children().  Assim:



Ou seja, se você aplicou query_posts_children() no template de página do WordPress, a opção acima equivale a:



Digo e repito, que query_posts_children() já define por padrão o parâmetro post_parent, onde o valor é o ID da página.
Outra dica muito bacana e útil com relação a essa função e que você pode ao invés de puxar, posts relacionados, você pode puxar as páginas relacionadas, que seriam as páginas filhas da página que está aberta. Usando query_posts_children() dessa forma:



Também temos uma outra função:



A idéia dessa função é que mesmo que você escreva um post e associe ele a uma página, o WordPress necessita que você associe esse post a uma categoria também, se não associarmos uma categoria, o WordPress associa automaticamente a uma padrão. Mas enfim, a idéia dessa função é burlar isso, de modo que se você entrar na página da categoria na qual o post foi associado não exiba o mesmo se ele estiver associado com uma página também. Deu pra sacar? Se desejarem fazer isso, basta você adicionar no inicio do arquivo de template da categoria essa função, ou para um efeito melhor ainda coloque dentro do arquivo “functions.php” do seu tema. Se este arquivo não existir crie ele. Aliás, você pode copiar todo o código desse plugin e colar dentro do arquivo “functions.php” ao invés de usá-lo como um plugin, daí você estará adaptando o seu tema.

Obs(1).: Lembrando que na hierarquia das páginas você pode ter slugs repetidas, se as estas estiverem em degraus de hierarquia diferentes, ao contrário de categorias que mesmo em degraus diferentes a slug é única.
Ou seja, você pode ter as duas URLs abaixo funcionando perfeitamente se as mesmas forem páginas:
http://www.pblog.com.br/plugins/mais-populares/
http://www.pblog.com.br/temas/mais-populares/
Mas não com categorias, acho isso uma falha do WordPress, mas por outro lado é menos consulta com o MySQL, Alías, pra arrumar isso na hierarquia das categorias não é tão díficil, porém a API do WordPress não facilita muito para esse fim.

Não utilizei muitas linhas para escrever esse plugin, tornando-o simples, porém muito útil como havia dito anteriormente. Talvez eu dê uma nova versão pra ele, posso implementar várias coisas para melhorar a usabilidade.  Bom, essa foi a dica de hoje, eu tenho várias outras dicas interessantes e úteis como essa, porém realmente me falta tempo, mas vou arranjar. Ainda mais quando o meu site voltar ao ar. Mas enfim, espero que tenham curtido. Abraço a todos.

Obs(2).: Eu odiei o layout da versão 2.7!

Clique aqui para fazer o download da versão 1.0 do plugin.

Como configurar um tema estilo magazine

Depois de alguns pedidos resolvi escrever um pequeno tutorial explicando como configurar um tema estilo magazine. Para exemplificar usarei um tema recém lançado, o Revolution Two – Church. É claro que as configurações variam de tema para tema, mas este passo-a-passo ajudará a compreender como funciona a configuração.

O primeiro passo é fazer o download do tema, enviá-lo para a pasta themes do seu servidor e ativá-lo. Notem que junto com os arquivos do tema existe uma pasta chamada plugins, nela estão contidas os plugins Breadcrumb NavXT e Featured Content Gallery, envie-os para a pasta plugins do seu servidor e ative-os.

Agora se você visualizar a página inicial do blog verá que nenhum post é exibido, algo semelhante a imagem abaixo.

Tema Church desconfigurado

Tema Church desconfigurado

Para que tudo funcione como na página de demonstração do tema teremos que configurar muitas coisas. Podemos começar a configurando o SlideShow, para isto o plugin Featured Content Gallery já deve estar ativado. Acesse a página de configuração do plugin, através do menu Configurações na administração do seu WordPress, e preencha os campos da seguinte forma:

  • Gallery Width in Pixels: 590
  • Gallery Height in Pixels: 400
  • Text Overlay Height in Pixels: 100
  • Category Name: Destaques
  • Number of Items to Display: 3

Agora deveremos criar 3 posts na categoria Destaques (claro que você pode alterar a quantidade de posts e o nome da categoria) e em cada post terá um campo personalizado (custom field) cuja chave será articleimg e o valor será a URL da imagem de 590×400 pixels.

Upload da imagem

Copie a URL da imagem

Campo personalizado

Crie um campo personalizado

Adicione na categoria Destaques

Crie a categoria Destaques

Slideshow funcionando :)

Slideshow funcionando :)


Em seguida iremos configurar as três áreas localizadas logo abaixo do slideshow. Para isso devemos abrir o arquivo home.php do tema e alterar as linhas 28, 58 e 87. Nestas linhas procure pela tag WP_Query(“cat=10&showposts=3″), substitua o valor de cat pelo ID da categoria que será exibido e em showposts escolha o número de posts que serão exibidos desta categoria. Ao lado do conteúdo do post também é possível adicionar um thumbnail e sua configuração é semelhante a imagem do slideshow. Ao criar um post, faça o upload de uam imagem (70×70 pixels), crie um campo personalizado (custom field) cuja chave será thumbnail e o valor será a URL da imagem.

Como saber o ID da categoria

Como saber o ID da categoria

Copie a URL da imagem

Copie a URL do thumbnail

Crie um campo personalizado

Crie um campo personalizado

Thumbnail adicionado

Thumbnail adicionado


Note que se o post não possuir nenhum campo personalizado chamado thumbnail e este for exibido na página principal, no lugar do thumbnail será exibido uma imagem default (que você poderá trocar substituindo o arquivo thumbnail.png que existe dentro da pasta images do tema).

Por último iremos configurar as áreas pré-estabelecidas para publicidade do tema e como este possui uma página de opções, você verá que é bastante simples a inserção de banners. Na administração do blog, clique no menu Design e em seguida no submenu Revolution Church Options, nesta página insira os códigos da publicidade correspondentes às dimensões descritas ao lado de cada campo. Nesta mesma página ainda é possível informar o FeedBurner ID para que seus leitores possam se cadastrar e receber seus post por email (como acontece aqui no pBlog) e também adicionar um código de vídeo (embedded) para ser exibido na barra lateral.

Tema Church configurado!

Tema configurado!

Códigos dos banners

Códigos dos banners

Depois que terminei este tutorial foi que me dei conta da dificuldade que os usuários poucos experientes com WordPress sentem ao tentar configurar um tema estilo magazine e a frustração ao ver a demonstração do tema funcionando perfeitamente e não conseguir utilizá-lo no próprio blog. Por isso continuem mandando suas sugestões pelo formulário de contato e suas dúvidas para nosso fórum, pois através deles é que surgem posts como este.