Como sabemos existe uma gama enorme de plugins para WordPress, alguns muito bons outros nem tanto, no dia-a-dia devido as necessidades especificas de cada cliente acabo criando alguns específicos.
Recentemente ao desenvolver um site com a plataforma WordPress totalmente customizada, com queries fora do padrão e uma serie de tabelas novas, encontrei um plugin que ajudou 100% o desenvolvimento – Doctrine ORM Integration.
Doctrine ORM (Object relational mapper)
Doctrine é um projeto focado principalmente em funcionalidades de persistência.
ORM (Object relational mapper) é a camada de abstração de banco de dados.
Então, se juntar as duas coisas temos, uma biblioteca para lidar com persistência e outra para mapeamento de tabelas relacionais. Chegando a este ponto temos apenas um pequeno empecilho, as tabelas do wordpress não são relacionais, toda a relação é feita em código, então não teremos 100% dessa ferramenta dentro do wordpress comparando com uma plataforma que utiliza uma base dados relacional.
Agora o passo a passo para utilizar a ferramenta:
Primeira coisa é fazer o download do plugin e instalar o mesmo no seu wordpress – Download do Plugin. Após a instalação verifique na área de configurações do seu blog o novo link
Doctrine ORM Integration – clicando nele temos a página de configuração
Only In Admin Area – Aqui você habilita o uso do plugin apenas dentro da área do Admin do site deixe essa opção desmarcada para que você possa utilizar em todo o site.
Reset Model’s Folder – Aqui você gera todo o mapeamento do banco novamente. Tome cuidado ao executar este comando porque se já tiver customizado algum model ele é substituído por um default sem a sua customização.
Veja um exemplo de uso com a seguinte situação:
“Gostaria de mostrar os últimos comentários do site independente do post.”
Para essa ocasião procure dentro da pasta /wp-content/plug-ins/doctrine/models um arquivo chamado WpComments.php (importante: o nome dos arquivos desta página pode variar de acordo com a nomenclatura das tabelas do seu site) e crie o seguinte método:
1 2 3 4 5 6 7 8 | public static function findAll(){ return Doctrine_Query::create() ->from('WpComments wpc') ->addWhere('wpc.comment_approved = 1') ->orderby('wpc.comment_date DESC') ->limit(5) ->execute(); } |
O que ele faz basicamente é buscar os 5 últimos comentários aprovados no site.
E no local onde deseja exibir estes comentários basta fazer o seguinte:
1 2 3 4 5 | $listComments = WpComments::findAll(); foreach($listComments as $comment) : echo utf8_encode($comment->comment_content); echo utf8_encode($comment->comment_author)." - ".date('d-m-Y', strtotime($comment->comment_date)); endforeach; |
Simples assim!
Que fique claro que este foi um exemplo especifico que fiz em um site de um cliente, as formas de uso vem com a necessidade de cada um!
Qualquer coisa deixe um comentário com suas dúvidas!
Para saber mais sobre Doctrine acesse o site do projeto – Aqui

