Como integrar uma tabela de banco de dados personalizada no Wordpress e usar as funções do Wordpress

8

Estou em Wordpress 3.0.4um momento difícil para decidir qual caminho seguir. O seguinte é o meu problema:

Eu tenho uma mysqltabela de banco de dados widgets, com cerca de 10 propertiescomo id, tamanho, cor etc.

Agora eu gostaria de integrar esta tabela Wordpress, preferencialmente de forma que eu possa obter listas paginadas widgets, mostrar informações em um único widget e ter um layout flexível.

De preferência, eu gostaria da capacidade de alterar um modelo personalizado de forma que eu possa alterar a posição de cada propriedade na página (então, talvez eu queira colocar, por exemplo, a propriedade size no topo da página à esquerda , mais tarde, posso colocá-lo no canto inferior direito).

Qual seria a melhor maneira de armazenar widgetse recuperá-los usando o mesmo número Wordpressde funções internas e como posso obter esse layout flexível também?

Eu escrevi meus próprios plugins antes, então tenho mais do que conhecimento básico Wordpress/PHP/MySQL.

JanWillem
fonte
Por favor, verifique este plugin wordpress.org/extend/plugins/custom-tables , economize muito trabalho, apenas defina os campos da tabela e importe seus dados.

Respostas:

8

É exatamente para isso que servem os tipos de postagem personalizados .

Se fosse meu projeto, eu descartaria a tabela personalizada que você possui, configuraria um tipo de postagem personalizado para seus "widgets", adicionaria todos os widgets existentes como conteúdo regular do WP e usaria funções e modelos padrão do WordPress para consultá-los e exibi-los. .

É um pouco de investimento a curto prazo (se você possui muitos dados existentes para migrar), mas a longo prazo, é melhor ter todo o seu conteúdo em tabelas padrão do WordPress e exibi-lo usando funções e modelos padrão do WordPress. a menos que haja uma razão realmente convincente para não fazê-lo.

MathSmath
fonte
Obrigado MathSmath, neste caso, você quer dizer que eu converto os dados da tabela em postagens? Acho que nesse caso eu precisaria usar os metadados de postagem para ter a flexibilidade de layout?
Janwillem
Sim, você usaria os metadados de postagem para adicionar qualquer número de campos personalizados (que se correlacionam às suas colunas na tabela) e, em seguida, criar esse layout diferente com base em qual "widget" possui quais metadados de postagem.
Don Gilbert
11
Para aqueles que acabam aqui via google ... existem vários plugins que permitem importar (e atualizar posteriormente usando) arquivos CSV e convertê-los em conteúdo personalizado do tipo de postagem. Hurrah por quatro anos depois.
Will
3

Se esta tabela estiver no mesmo banco de dados da sua instalação do WordPress, você poderá usar $wpdbpara obter dados dela. Caso contrário, você pode instanciar seu próprio wpdbobjeto com detalhes de conexão para outro banco de dados.

Não sei ao certo o que você quer dizer com widgets , neste caso, não parece a mesma coisa que widgets do WordPress? Desde que eu sou confuso sobre isso, não tenho sugestões de como lidar com o modelo para aqueles.

Rarst
fonte
Oi Rarst, com widget, quero dizer uma coisa, poderia ser um livro, carro, vinho, basicamente qualquer coisa com propriedades.
Janwillem
1

FWIW, fizemos algo parecido com isto onde estamos puxando os dados de uma fonte de dados externa. Criamos tipos de postagem personalizados e funções que são acionadas por ganchos diferentes do wordpress, com o resultado de que podemos mostrar tudo, desde os visitantes do site até o site wp-admin. As postagens não são armazenadas no wpdb, nem mesmo como postagens "proxy".

Portanto, é possível fazê-lo dessa maneira, embora ainda tenhamos que descobrir uma maneira de usar a lixeira para excluí-los, e acabei adicionando meus próprios links de paginação wp-admin usando o JQuery.

A menos que você tenha um bom motivo para fazê-lo dessa maneira, concordo com o @MathSmath: crie um tipo de postagem personalizado e armazene-o como posts "reais" no wordpress.

PapaFreud
fonte
-1

Tanto quanto sei, o que você queria fazer pode ser facilmente alcançado usando o Caspio. Você nem precisa usar nenhum banco de dados. Eles fornecem um banco de dados on-line sobre o qual você pode criar todos os tipos de funcionalidades direcionadas ao banco de dados. Aqui está um vídeo que eu vi deles que mostra como criar e incorporar um banco de dados de contatos pesquisáveis ​​em um site WP em apenas alguns minutos sem qualquer codificação: https://www.youtube.com/watch?v=BgHV7ZPplo0

Espero que isto ajude!

AnthonyWP
fonte
Esta não é uma resposta para a pergunta.
Nilambar Sharma