Trabalhando com tabelas de banco de dados personalizados no wordpress

Eu mostrei-lhe muitas maneiras em que WordPress já é o mais flexível CMS

. Um rápido exame do Melhor do WordPress Plugins página também irá revelar algumas das muitas maneiras originais e de nicho que você pode fazer o seu trabalho do blog mais difícil. Eu mesmo mostrou-lhe como fazer uso de tipos de pós personalizado para criar o seu próprio mini-banco de dados- mas eu deixei uma coisa, eu acho.5 coisas que você pode não ter sabido que você poderia fazer com o Wordpress5 coisas que você pode não ter sabido que você poderia fazer com o WordpressSendo o sistema de blogs mais versátil de sempre, não é nenhuma surpresa que os desenvolvedores têm torcido e puxou Wordpress para se tornar muito mais através do uso inteligente de plugins. Se você pensou Wordpress foi apenas para ...consulte Mais informação

E se você já tem um banco de dados de exemplo, informações de clientes, mas você quer ser capaz de consultar esses dados e exibi-lo dentro de um template WordPress? Hoje eu vou mostrar a você como fazer isso, com segurança dentro do motor WordPress.

requisitos

  • Seu próprio site WordPress auto-hospedado, obviamente.
  • PHP básico e MySQL habilidades - Eu recomendo os tutoriais Tizag PHP e MySQL, como eles cobrem mais do que suficiente e você pode trabalhar com eles em um dia e referenciá-los novamente quando necessário.
  • Um conjunto de dados existente no MySQL.
  • linha de comando do acesso PHPMyAdmin para mesclar os bancos de dados.
  • Um único banco de dados com ambos os conjuntos de dados - isso significa que você nem precisa mesclar suas tabelas de banco de dados WordPress em um banco de dados e mudança existente wp-config para refletir o novo nome de usuário do banco de dados e senha details- ou importar um conjunto de dados existente para o seu banco de dados WordPress. É mais fácil se você não tem outro sistema que está contando com os dados. De qualquer maneira, eu estou indo supor que você tenha feito este passo já - confira meu artigo sobre como fazer uma backup completo do banco através de uma linha de comando SSH se você precisar de algumas dicas lá.

Video: Como criar um banco de dados e hospedar um site wordpress Cpanel

Este tutorial é tão avançado como nós estamos indo para chegar no MakeUseOf, mas deve abrir um mundo de possibilidades para você.

Por que eu faria isso?

Apesar dos muitos plugins e extensões disponíveis para nós em WordPress, às vezes, você já tem um conjunto de dados e migrando para um formato WordPress gosta seria mais problemas do que vale a pena - especialmente se você tem então um outro sistema que você precisa interoperar com.

Hoje, eu vou tomar o exemplo de um simples banco de dados de informações do cliente, e nós vamos estar a criar um modelo de página que lista estes clientes - apenas para os usuários do WordPress registrados (embora a própria página será acessível a partir da parte frontal do site ).

Como uma referência para nomes de colunas e tabelas no banco de dados, você pode achar que é útil para instalar o plugin do navegador de banco de dados, o que também permite executar básico Onde e ordenar por consultas para testar seu código SQL. Aqui está uma imagem com um conjunto de dados de amostra que eu criei - neste caso, uma tabela chamada clientes, contendo algumas informações básicas sobre cada um dos meus clientes muito importantes.

mesa de banco de dados personalizado

O que exatamente é que vamos fazer aqui?

  • Criando um novo modelo de página que pode, em seguida, aplique um pouco de código PHP personalizado para.
  • Olhando para como criar uma consulta personalizada para o banco de dados e, em seguida, analisar os resultados - usando classes internas do banco de dados do WordPress.
  • Olhando para permissões no caso de você querer restringir o acesso.

Fazendo um modelo personalizado

Se você quiser usar um pouco do seu próprio código PHP, a maneira mais fácil de fazer isso é criar um modelo personalizado, em seguida, aplicar o modelo para uma determinada página que você criar no WordPress. Comece abrindo seus arquivos de tema e duplicar o page.php (ou single.php se não houver um). Renomeá-lo algo óbvio, como “template-customers.php”Como eu escolhi.

No topo do arquivo, é preciso dizer WordPress este é um modelo personalizado. Faça isso adicionando a seguinte (Isto é um comentário estilo PHP, por isso deve ser depois de qualquer tag de abertura do PHP se presente):

/ * Nome do modelo: Clientes * /

Obviamente, chamar-lhe o que quiser.

Video: Configurar dados do banco de dados no arquivo wp-config do Wordpress

Agora, encontrar a função conteúdo principal. Você pode excluí-lo, se quiser, mas eu só vou adicionar o código extra depois. Com o tema 20-11 padrão, você está procurando:

? Lt; php get_template_part ( `conteúdo`, `página`) - gt;

Mas na maioria dos temas, vai ser algo como:

Video: Como otimizar o Banco de dados do Wordpress

? Lt; the_content php () - gt;

Essa é a parte que exibe o seu conteúdo do post, então qualquer coisa que você adicionar depois que será mostrado logo após a principal área de conteúdo. Apenas para verificar que está tudo funcionando, vamos adicionar uma declaração básica de eco e salvar o arquivo.

lt;? php echo "Este é o nosso modelo personalizado!"- gt;


Antes que possamos verificar isso, vamos precisar para criar uma página na página de administração do WordPress, e aplicar nosso modelo de página para ele.

personalizado tabela de banco wordpress

Publicar, e confira a página para ver se a sua declaração de eco tem funcionado.

personalizado tabela de banco wordpress

A classe de consulta personalizada

Para obter acesso direto ao banco de dados, tudo que você precisa fazer é usar o objeto $ wpdb, tornando global. Estas três linhas deve fazê-lo - substituir a declaração echo genérico que fizemos anteriormente com este:

lt;? phpglobal $ wpdb- $ clientes = $ wpdb-gt; get_results ("* SELECT FROM clientes-") -print_r ($ clientes) - gt;

Salvar e atualizar a página. o função print_r () apenas despeja todos os dados do objeto do cliente - assim que você deve ver que a instrução SQL simples para selecionar tudo da tabela de clientes tem trabalhado muito bem. Agora tudo que você precisa fazer é analisar os resultados a algo utilizável. Claro, você pode colocar qualquer instrução SQL select para o get_results () método, mas eu não estou aqui para ensinar-lhe SQL, então vamos ficar com apenas pegar tudo por agora.

Para analisar os resultados para fora em algo mais significativo, eu vou estar usando uma tabela básica para agora. Substitua o print_r método com o seguinte código (Não se preocupe, eu vou estar colando o código completo mais tarde, se você não quer peça que junto a si mesmo):

eco ""-foreach ($ clientes quanto $ cliente) {echo ""-eco ""-eco ""-eco ""-eco ""-eco ""-}eco "
". $ Cliente gt; nome."". $ Cliente gt; e-mail."". $ Cliente gt; telefone."". $ Cliente gt; endereço."
"-

Depois de ter cada objeto cliente dentro de um para cada, você pode acessar os nomes dos campos facilmente com $ Cliente gt; field_name - ele realmente não poderia ser mais simples.

Protegendo Coisas

Neste caso, eu realmente não quero que meus dados de clientes exibido para qualquer um e indexado pelos motores de busca - mas eu ainda quero isso no front-end exibidos usando este molde do Então o que podemos fazer? Fácil, vamos fazer uso do WordPress condicional is_user_logged_in (), e exibir uma mensagem rápida, se eles não são. Aqui está todo o bloco de código novamente com adicionado o novo condicional:

lt; phpif (is_user_logged_in ()): $ wpdb- global de US $ clientes = $ wpdb-gt; get_results ("* SELECT FROM clientes-")-eco ""-foreach ($ clientes quanto $ cliente) {echo ""-eco ""-eco ""-eco ""-eco ""-eco ""-}eco "
". $ Cliente gt; nome."". $ Cliente gt; e-mail."". $ Cliente gt; telefone."". $ Cliente gt; endereço."
"-else: echo "Desculpe, apenas usuários cadastrados podem ver essas informações"-endif- gt;

Salvar e atualizar, e você ainda deve ver o conteúdo. No entanto, logout, então atualizar a página, e agora você vai ver o “Sorry, only usuários registrados ..." mensagem.

mesa de banco de dados personalizado

Se você quiser restringir essa a certos níveis de usuários, em vez de todos os utilizadores registados, então você deve usar o current_user_can () condicional em vez disso, juntamente com uma capacidade associada (leia mais sobre as capacidades do codex). Isso iria verificar para usuários de administração, por exemplo - os únicos usuários que podem gerenciar opções do plugin:

current_user_can ( ``) manage_options

Resumo

Vou deixá-lo lá hoje como qualquer outra coisa se tornaria um SQL tutorial ou como seu estilo de saída com CSS (temos uma excelente guia livre em que, a propósito). O céu é o limite com o WordPress, e espero que este vem a ser útil para alguns de vocês em seus projetos WordPress.Como editar Milhares de Wordpress Posts Com apenas um comando SQLComo editar Milhares de Wordpress Posts Com apenas um comando SQLCrescer um blog leva anos, e um monte de dor e luta. Depois, há as grandes transições, quando você percebe que você tem que fazer algumas mudanças importantes, e isso vai levar ...consulte Mais informação

Na próxima semana eu vou estar abordando o tema um pouco mais complicado de como inserir dados de volta para o seu banco de dados personalizado usando um formulário na página, e um pouco de AJAX / jQuery magia.

Você tem problemas, ou você quer para filmar algumas idéias fora de mim? Os comentários estão abertos para todos, por favor, vá em frente e eu vou tentar o meu melhor para respondê-las.


Artigos relacionados