Fluency2 para WordPress 2.7

Se você não gostou mesmo da área administrativa do WordPress 2.7, e nem o novo Ozh’ Admin Drop Down Menu mudou essa sensação, talvez o Fluency2 seja a sua salvação.

O Fluency2 é a nova versão de uma skin para a área administrativa do WordPress surgida quando o sistema estava na versão 2.5 (lembra?). Nessa atualização, além da compatibilidade com a última versão do WordPress, foram feitas melhorias notáveis no layout, que deixaram o visual mais moderno e bonito.

Confira algumas screenshots (tem mais no Flickr do autor):

O Fluency2 é um plugin, logo, basta baixá-lo e, em seguida, ativá-lo na área administrativa do WordPress.

Uma dica: antes de ativar, certifique-se de que o menu do WordPres 2.7 não esteja comprimido (exibindo apenas ícones). Se o plugin for ativado nessa circunstância, o menu não aparecerá no Fluency2.

Estou usando em meu novo blog (aliás, já viu o Campo Minado?), e gostando muito. O visual é de bom gosto, e há soluções bem melhores que as nativa – o popup das oções de tela é genial. Vale a pena experimentar.

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.

Linha do Tempo WordPress – 2003 à 2008

Lembro bem a primeira versão do WordPress que instalei, foi a 1.5 em 2005. Na época era apenas um curioso instalando vários softwares gratuitos web em um servidor local. No ano seguinte, meu amigo e sócio Diego Polo, criou o WWWhat’s e foi então que, com meus poucos conhecimentos em WordPress, ajudei-o a customizar um tema para seu blog. Depois disso criei outros blogs e aumentei meus conhecimentos, foi quando decidi criar o pBlog no início de 2007. Comecei a relembrar toda esta história depois que li o post do Ozh (aqueles mesmo do plugin Admin Drop Down Menu que Rodrigo comentou no post anterior) sobre a história da interface do WordPress, desde a sua criação em maio de 2003. Acompanhe a evolução através das screenshots da página Adicionar Novos Posts:

WordPress 0.7.1<br />Maio 2003WordPress 1.0.1<br />janeiro 2004WordPress 1.2.0<br />Maio 2004WordPress 1.5.0<br />Fev 2005WordPress 2.0.0<br />Dez 2005WordPress 2.1.0<br />Janeiro 2007WordPress 2.3.0<br />Setembro 2007WordPress 2.5.0<br />Março 2008WordPress 2.6.0<br />Setembro 2008WordPress 2.7.0<br />Dezembro 2008

E vocês, qual foi a primeira versão que instalaram?

Ozh’ Admin Drop Down Menu compatível com o WordPress 2.7

Ozh, francês criador de dois plugins muito famosos para WordPress, reclamou (em tom bem humorado) que a última versão do WordPress “matou” suas crias. De fato, Absolute Comments e Admin Drop Down Menu são dispensáveis no WordPress 2.7, que traz respostas aos comentários a partir da administração e menus drop down e cheio de ícones nativamente.

Quando tudo parecia perdido, Ozh consegue o que muitos julgavam impossível: dar utilidade ao seu Admin Drop Down Menu, mesmo no WP 2.7. E, acredite: por melhor que tenha sido o trabalho da Automattic na criação do novo menu, com o plugin do Ozh as coisas ficam melhores.

A primeira mudança que o plugin faz é voltar o menu ao padrão horizontal. Eu, acostumado com tal modelo desde o saudoso WordPress 1.2, achei tal retorno às origens muito bem-vindo. Não que o menu vertical seja ruim; usei-o antes de saber dessa atualização, e ele funciona a contento. De qualquer maneira, o horizontal é mais prático.

Há outras pequenas melhorias, todas listadas na página de configuração do plugin (fica em Settings, Admin Menu). Dá para esconder os rótulos dos itens, remover o cabeçalho, tirar os ícones bonitinhos da famfamfam… Enfim, deixar o menu minimalista ao extremo, como o meu:

Menu no Rodrigo Ghedin.

Menu no Rodrigo Ghedin.

De quebra, dá para mudar a cor do menu, e felizmente é possível colocar qualquer cor via código HTML. Só assim para trazer de volta o bom e velho laranja do WordPress 2.5~2.6 (anote o código: #d54e21).

Download do Ozh’ Admin Drop Down Menu, direto do WordPress.org.

Contador de Downloads do WordPress 2.7

wordpress-downloadsAté o momento (12/12/2008 11h. am) já foram feitos mais de 150 mil downloads do WordPress 2.7, isto significa dizer que é pouco mais de 1 download por segundo!! Impressionante não? Para acompanhar em tempo real o número de downloads acesse a página do WordPress Download Counter.

WordPress 2.7 ‘Coltrane’ (versão final) lançado

Algumas horas depois do Release Candidate 2, agora pouco saiu a versão final do WordPress 2.7, codinome Coltrane. Há muitas novidades, algumas já comentadas aqui no pBlog, outras que ainda serão.

Essa versão do WordPress é a maior da história, em todos os sentidos – para terem idéia, mais de 150 pessoas mexeram diretamente no código. Segundo o blog oficial, além do novíssimo visual, que deve permanecer intacto até o final de 2009, o WP 2.7 marca uma ruptura com códigos legados, tendo em vista deixar a base do WordPress ainda mais sólida, o que será sentido no melhor suporte para a criaçã de plugins e temas, e na integração com outros projetos da Automattic, como o BuddyPress e o bbPress – que, aliás, receberão mais atenção em 2009.

Confira um vídeo dos desenvolvedores mostrando as novidades da versão:

Amanhã traremos mais detalhes do novíssimo WordPress 2.7. Enquanto isso, que tal baixá-lo e atualizar seu blog?