Comment intégrer une table de base de données personnalisée dans Wordpress et utiliser les fonctions Wordpress

8

Je suis sur Wordpress 3.0.4et j'ai du mal à décider dans quelle direction aller. Voici mon problème:

J'ai une mysqltable de base de données widgets, avec environ 10 propertiescomme id, taille, couleur, etc.

Maintenant, j'aimerais intégrer ce tableau dans Wordpress, de préférence de manière à pouvoir obtenir des listes paginées du widgets, afficher des informations sur un seul widget et avoir une disposition flexible.

De préférence, j'aimerais pouvoir changer un modèle personnalisé de telle manière que je puisse changer la position de chaque propriété sur la page (alors peut-être que je voudrais mettre par exemple la propriété size en haut de la page à gauche , plus tard, je pourrais le mettre en bas à droite).

Quelle serait la meilleure façon de stocker widgets, de les récupérer en utilisant autant Wordpressde fonctions intégrées et comment puis-je obtenir cette disposition flexible?

J'ai déjà écrit mes propres plugins, j'ai donc plus que des connaissances de base Wordpress/PHP/MySQL.

JanWillem
la source
S'il vous plaît, vérifiez ce plugin wordpress.org/extend/plugins/custom-tables , cela me fait gagner beaucoup de travail, il suffit de définir vos champs de table puis d'importer vos données.

Réponses:

8

C'est précisément à cela que servent les types de publication personnalisés .

S'il s'agissait de mon projet, je ferais disparaître le tableau personnalisé que vous avez, configurez un type de publication personnalisé pour vos "widgets", ajoutez tous vos widgets existants en tant que contenu WP standard et utilisez les fonctions et modèles WordPress standard pour les interroger et les afficher .

C'est un peu d'investissement à court terme (si vous avez beaucoup de données existantes que vous devez migrer), mais à long terme, il est préférable d'avoir tout votre contenu dans des tableaux WordPress standard et de l'afficher à l'aide de fonctions et modèles WordPress standard- - à moins qu'il y ait une raison vraiment impérieuse de ne pas le faire.

MathSmath
la source
Merci MathSmath, dans ce cas, vous voulez dire que je convertis les données du tableau en messages? Je suppose que dans ce cas, j'aurais besoin d'utiliser des métadonnées de publication pour avoir la flexibilité de mise en page?
JanWillem
Oui, vous utiliseriez des métadonnées de publication afin d'ajouter un nombre quelconque de champs personnalisés (qui correspondent à vos colonnes dans votre table), puis en utilisant cela, créez une mise en page différente en fonction du "widget" qui a quelles métadonnées de publication.
Don Gilbert
1
Pour ceux qui se retrouvent ici via google ... il existe une poignée de plugins qui vous permettront d'importer (et de mettre à jour plus tard en utilisant) des fichiers CSV et de les convertir en contenu de type de publication personnalisé. Vive quatre ans plus tard.
Will
3

Si ce tableau se trouve dans la même base de données que votre installation WordPress, vous pouvez l'utiliser $wpdbpour en obtenir des données. Sinon, vous pouvez instancier votre propre wpdbobjet avec les détails de connexion pour une autre base de données.

Je ne sais pas ce que vous entendez par widgets dans ce cas, ne ressemble pas à la même chose que les widgets WordPress? Étant donné que je suis flou à ce sujet, je n'ai aucune suggestion sur la façon de gérer le modèle pour ceux-ci.

Rarst
la source
Salut Rarst, avec un widget, je veux dire une «chose», pourrait être un livre, une voiture, du vin, essentiellement n'importe quoi avec des propriétés.
JanWillem
1

FWIW, nous avons fait quelque chose comme ça où nous tirons les données d'une source de données externe. Nous avons créé des types de publication personnalisés et créé des fonctions qui sont déclenchées par différents hooks wordpress, avec le résultat que nous pouvons tout montrer à la fois aux visiteurs du site et dans wp-admin. Les publications ne sont pas stockées dans wpdb, pas même en tant que publications "proxy".

Il est donc possible de le faire de cette façon, bien que nous n'ayons pas encore trouvé un moyen d'utiliser la poubelle pour les supprimer, et j'ai fini par ajouter mes propres liens de pagination wp-admin à l'aide de JQuery.

À moins que vous n'ayez une très bonne raison de le faire de cette façon, je suis d'accord avec @MathSmath: créez un type de message personnalisé et stockez-les en tant que "vrais" messages wordpress.

PapaFreud
la source
-1

Autant que je sache, ce que vous vouliez faire peut être facilement réalisé en utilisant Caspio. Vous n'avez même pas besoin d'utiliser de base de données. Ils fournissent une base de données en ligne au-dessus de laquelle vous pouvez créer toutes sortes de fonctionnalités basées sur une base de données. Voici une vidéo que j'ai vue d'eux qui montre comment créer et intégrer une base de données de contacts consultable sur un site WP en quelques minutes sans aucun codage: https://www.youtube.com/watch?v=BgHV7ZPplo0

J'espère que cela t'aides!

AnthonyWP
la source
Ce n'est pas une réponse à la question.
Nilambar Sharma