Travailler avec des tables de base de données personnalisés dans wordpress

Video: Supprimer les tables de la base de données Wordpress avec PHP My Admin

Je vous ai montré de nombreuses façons dont WordPress est déjà le CMS le plus flexible. Une analyse rapide de la Le meilleur de WordPress Plugins page va aussi révéler quelques-unes des nombreuses façons uniques et de niche que vous pouvez faire votre travail plus difficile blog. Je vous ai même montré comment utiliser des types de poste personnalisé pour créer votre propre mini-base de données- mais je l`ai laissé une chose, je pense.5 choses que vous pourriez ne pas avoir su que vous pourriez faire avec Wordpress5 choses que vous pourriez ne pas avoir su que vous pourriez faire avec WordpressÊtre le système de blogging le plus polyvalent jamais, il est pas surprenant que les développeurs ont tordu et tiré Wordpress en devenant beaucoup plus par l`utilisation intelligente des plug-ins. Si vous pensiez que Wordpress était seulement pour ...Lire la suite

Que faire si vous avez déjà une base de données par exemple, l`information à la clientèle, mais vous voulez être en mesure d`interroger les données et l`afficher dans un modèle WordPress? Aujourd`hui, je vais vous montrer à quel point de le faire, en toute sécurité dans le moteur WordPress.

Exigences

  • Votre propre site WordPress auto-hébergé, évidemment.
  • compétences de base PHP et MySQL - Je recommande les tutoriels Tizag PHP et MySQL, car ils couvrent plus que suffisant et vous pouvez travailler à travers eux en un jour et les référencer à nouveau en cas de besoin.
  • Un ensemble de données existant dans MySQL.
  • Ligne de commande d`accès PHPMyAdmin pour fusionner les bases de données.
  • Une base de données unique avec les deux ensembles de données - cela signifie que vous devez soit de fusionner vos tables de base de données WordPress dans une base de données existante et le changement wp-config.php pour refléter le nouveau nom d`utilisateur de base de données et le mot de passe ou Détails- importer un jeu de données existant dans votre base de données WordPress. Il est plus facile si vous ne disposez pas d`un autre système qui se fondant sur les données. De toute façon, je vais supposer que vous avez fait cette étape déjà - vérifier mon article sur la façon de faire sauvegarde complète de base de données via une ligne de commande SSH si vous avez besoin des pointeurs là-bas.

Ce tutoriel est à peu près aussi avancé que nous allons obtenir à MakeUseOf, mais il devrait ouvrir un monde de possibilités pour vous.

Pourquoi devrais-je faire cela?

Malgré les nombreux plugins et extensions dont nous disposons dans WordPress, parfois vous avez déjà un ensemble de données et la migration dans un format WordPress aime serait plus de tracas que cela vaut la peine - surtout si vous avez alors un autre système, vous devez interagir avec.

Aujourd`hui, je vais prendre l`exemple d`une base de données simple de l`information à la clientèle, et nous allons créer un modèle de page qui répertorie ces clients - uniquement aux utilisateurs de WordPress enregistrés (bien que la page elle-même sera accessible à partir de l`extrémité avant du site ).

En tant que référence pour les noms de colonnes et des tables dans la base de données, vous trouverez peut-être utile d`installer le plug-in du navigateur de base de données, qui vous permettent également d`exécuter de base et commandé par requêtes pour tester votre code SQL. Voici une capture d`écran avec un jeu de données d`exemple que j`ai créé - dans ce cas, une table appelée Les clients, contenant des informations de base sur chacun de mes clients très importants.

table de base de données personnalisée

Video: créer une base de donnee Mysql pour Wordpress

Qu`est-ce que précisément nous allons faire ici?

  • Création d`un nouveau modèle de page que nous pouvons appliquer un code PHP personnalisé pour.
  • Vous cherchez comment créer une requête personnalisée à la base de données, puis analyser les résultats - en utilisant intégré dans les classes de base de données WordPress.
  • En regardant les autorisations dans le cas où vous souhaitez restreindre l`accès.

Création d`un modèle personnalisé

Si vous voulez utiliser une partie de votre propre code PHP, la meilleure façon de le faire est de créer un modèle personnalisé, appliquez le modèle à une page particulière que vous créez dans WordPress. Commencez par ouvrir vos fichiers thématiques et dupliquer le page.php (ou single.php s`il n`y a pas). Renommez-le quelque chose d`évident, comme «modèle-customers.php» Comme je l`ai choisi.

Au sommet du fichier, nous avons besoin de dire ce WordPress est un modèle personnalisé. Pour ce faire, en ajoutant ce qui suit (Ceci est un commentaire de style PHP, il devrait donc être après une balise PHP d`ouverture si elle est présente):

/ * Nom du modèle: Les clients * /

De toute évidence, appeler ce que vous voulez.

Maintenant, trouver la fonction du contenu principal. Vous pouvez le supprimer si vous voulez, mais je vais juste ajouter le code supplémentaire après. Avec la valeur par défaut de vingt à onze thème, vous êtes à la recherche:

? Lt; php get_template_part ( `contenu`, `page`) - gt?;

Mais dans la plupart des thèmes, ce sera quelque chose comme:

? Lt; php the_content () - gt?;

C`est le bit qui affiche le contenu de votre message, donc tout ce que vous ajoutez après qui sera affiché juste après la zone de contenu principal. Juste pour vérifier tout fonctionne, nous allons ajouter une déclaration d`écho de base et enregistrez le fichier.

Video: Comment créer la la base de donnée de votre site Wordpress

lt;? php echo "Ceci est notre modèle personnalisé!"- gt?;

Avant de pouvoir vérifier cela, nous aurons besoin de créer une page sur la page WordPress admin, et appliquons notre modèle de page à elle.

base de données tableau personnalisé wordpress

Publier et consultez la page pour voir si votre echo a travaillé.

base de données tableau personnalisé wordpress

La Requête de classe

Pour accéder directement à la base de données, tout ce que vous devez faire est d`utiliser l`objet de wpdb $ en le rendant global. Ces trois lignes devraient le faire - remplacer la déclaration d`écho générique, nous avons fait plus tôt avec ceci:

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

Enregistrer et actualiser la page. le fonction print_r () juste dumps toutes les données de l`objet du client - donc vous devriez voir que votre instruction SQL simple pour tout sélectionner à partir de la table des clients a travaillé bien. Maintenant, tout ce que vous devez faire est d`analyser les résultats à quelque chose utilisable. Bien sûr, vous pouvez mettre une instruction select SQL dans la get_results () méthode, mais je ne suis pas là pour vous enseigner SQL nous allons donc en tenir à tout juste saisissant pour l`instant.

Pour analyser les résultats sur quelque chose de plus significatif, je vais utiliser un tableau de base pour l`instant. Remplace le print_r Méthode avec le code suivant (Ne vous inquiétez pas, je vais coller le code complet plus tard si vous ne voulez pas vous-même pièce ensemble):

écho ""-foreach (clients $ comme client $) {echo ""-écho ""-écho ""-écho ""-écho ""-écho ""-}écho "
". Client $ gt; nom."". Client $ gt; e-mail."". Client $ gt; téléphone."". Client $ gt; adresse."
"-

Une fois que vous avez chaque objet client dans un pour chaque, vous pouvez accéder facilement aux noms de champs avec client $ gt; field_name - il ne pouvait vraiment pas être plus simple.

sécurisation choses

Dans ce cas, je ne veux vraiment mes données clients affichées à ne importe qui et indexées par les moteurs de recherche - mais je ne veux toujours à l`extrémité avant affichées selon ce Template- que pouvons-nous faire? Facile, nous allons utiliser WordPress conditionnelle is_user_logged_in (), et afficher un message rapide s`ils ne sont pas. Voici tout le bloc de code à nouveau avec le nouveau conditionnel ajouté:

Video: Formation base de données - Requêtes et liens entre les tab - 4 Formation Facile

lt; phpif (is_user_logged_in ()): wpdb- global $ $ customers = $ wpdb-gt; (get_results"SELECT * FROM clients-")-écho ""-foreach (clients $ comme client $) {echo ""-écho ""-écho ""-écho ""-écho ""-écho ""-}écho "
". Client $ gt; nom."". Client $ gt; e-mail."". Client $ gt; téléphone."". Client $ gt; adresse."
"-else: echo "Désolé, seuls les utilisateurs enregistrés peuvent voir ces informations"-endif- gt?;

Enregistrer et rafraîchir, et vous devriez voir encore le contenu. Cependant, vous déconnecter, puis actualiser la page, et vous verrez maintenant «Seuls les utilisateurs enregistrés ..." message.

table de base de données personnalisée

Si vous voulez limiter ce à certains niveaux d`utilisateurs plutôt que tous les utilisateurs enregistrés, vous utiliserez alors la current_user_can () conditionnelle à la place, ainsi qu`une capacité associée (en savoir plus sur les capacités du codex). Ce vérifierait pour les utilisateurs d`administration, par exemple - les seuls utilisateurs qui peuvent gérer les options de plug-ins:

current_user_can ( ``) manage_options

Résumé

Je vais le laisser là aujourd`hui comme quelque chose d`autre devenir un SQL tutoriel ou comment le style de votre sortie avec CSS (nous avons un un excellent guide gratuit sur ce point, au fait). Le ciel est vraiment la limite avec WordPress, et j`espère que cela arrive utile à certains d`entre vous dans vos projets de WordPress.Comment modifier des milliers de messages Wordpress avec juste une commande SQLComment modifier des milliers de messages Wordpress avec juste une commande SQLDe plus en plus un blog prend des années, et beaucoup de douleur et de lutte. Ensuite, il y a les grandes transitions, lorsque vous vous rendez compte que vous devez faire quelques changements majeurs, et il va prendre ...Lire la suite

La semaine prochaine, je vais attaquerons le sujet un peu plus délicat de la façon d`insérer des données dans votre base de données retour personnalisée à l`aide d`un formulaire sur la page, et un peu de magie AJAX / jQuery.

Avez-vous des problèmes, ou voulez-vous tirer quelques idées sur moi? Les commentaires sont ouverts pour tous, donc s`il vous plaît aller de l`avant et je vais essayer de mon mieux pour y répondre.

Articles connexes