
Gabriel Brooks
0
887
8
Je vous ai montré de nombreuses manières que WordPress est déjà le plus flexible des CMS 5 choses que vous ne saviez peut-être pas que vous pouviez faire avec Wordpress 5 choses que vous ne saviez peut-être pas que vous ne pouviez pas faire avec Wordpress Être le système de blogging le plus polyvalent à ce jour, ce n'est pas surprise que les développeurs aient tordu et poussé Wordpress à devenir tellement plus efficace grâce à une utilisation intelligente des plugins. Si vous pensiez que Wordpress était seulement pour… Une analyse rapide de la page Best of WordPress Plugins révélera également quelques-unes des nombreuses façons uniques et spécialisées de rendre votre blog plus efficace. Je vous ai même montré comment utiliser des types de publication personnalisés. Comment créer votre propre liste d'événements à l'aide de types de publication personnalisés dans WordPress Comment créer votre propre liste d'événements à l'aide de types de publication personnalisés dans WordPress WordPress vous permet d'utiliser des types de publication personnalisés pour étendre fonctionnalité intégrée. Voici comment le faire sans plugins. créer votre propre mini base de données Créez une base de données d'évaluation de produits avec Wordpress: Types de publication personnalisés, Champs personnalisés, Images et widgets en vedette! Créez une base de données de critiques de produits avec Wordpress: Types de messages personnalisés, Champs personnalisés, Images en vedette et widgets! La dernière fois, nous vous avons montré comment créer une simple liste d'événements en utilisant peut-être la fonctionnalité la plus puissante de WordPress 3.0 - les types de publication personnalisés. Après quelques demandes pour développer davantage ceci, aujourd'hui nous serons…; mais j'ai omis une chose, je pense.
Que se passe-t-il si vous avez déjà une base de données contenant, par exemple, des informations sur les clients, mais que vous souhaitez pouvoir interroger ces données et les afficher dans un modèle WordPress? Aujourd'hui, je vais vous montrer comment faire cela en toute sécurité dans le moteur WordPress..
Exigences
- Votre propre site WordPress auto-hébergé, évidemment.
- Compétences de base en PHP et MySQL - Je recommande les tutoriels PHP et MySQL de Tizag, car ils couvrent plus que suffisant et que vous pouvez les parcourir en une journée et les référencer à nouveau en cas de besoin..
- Un ensemble de données existant dans MySQL.
- Ligne de commande de l'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 fusionner vos tables de base de données WordPress dans une base de données existante, puis les modifier. wp-config.php refléter les nouveaux nom d'utilisateur et mot de passe de la base de données; ou importer un jeu de données existant dans votre base de données WordPress. C'est plus facile si vous n'avez pas un autre système qui s'appuie sur les données. Quoi qu'il en soit, je vais supposer que vous avez déjà effectué cette étape - consultez mon article sur la procédure de sauvegarde complète de la base de données via une ligne de commande SSH. Procédure de sauvegarde de votre site Web via la ligne de commande SSH Procédure de sauvegarde de votre site Web via SSH Ligne de commande La sauvegarde de votre site Web ou de votre blog peut être une tâche coûteuse et ardue, nécessitant une variété de plugins ou des plans supplémentaires de votre fournisseur d'hébergement - mais ce n'est pas forcément le cas. Si vous avez SSH… si vous avez besoin d'indicateurs.
Ce tutoriel est à peu près aussi avancé que celui que nous allons obtenir chez MakeUseOf, mais il devrait vous ouvrir un monde de possibilités..
Pourquoi ferais-je cela?
Malgré les nombreux plugins et extensions disponibles dans WordPress, vous avez parfois déjà un jeu de données et le migrer vers un format que WordPress vous plairait serait plus fastidieux que nécessaire, en particulier si vous avez un autre système avec lequel vous devez interagir..
Aujourd'hui, je vais prendre l'exemple d'une simple base de données d'informations sur les clients et créer un modèle de page répertoriant ces clients, réservé aux utilisateurs WordPress enregistrés (bien que la page elle-même soit accessible depuis le début du site). ).
En tant que référence pour les noms de colonne et de table dans la base de données, il peut être utile d’installer le plug-in du navigateur de base de données, qui vous permettra également d’exécuter des tâches de base. où et commandé par requêtes pour tester votre code SQL. Voici une capture d'écran avec un exemple de jeu de données que j'ai créé - dans ce cas, un tableau appelé Clients, contenant des informations de base sur chacun de mes clients très importants..
Que ferons-nous précisément ici?
- Création d'un nouveau modèle de page auquel nous pouvons ensuite appliquer du code PHP personnalisé.
- Voir comment créer une requête personnalisée dans la base de données, puis analyser les résultats - à l'aide de classes de base de données WordPress intégrées.
- Examiner les autorisations au cas où vous voudriez restreindre l'accès.
Faire un modèle personnalisé
Si vous souhaitez utiliser votre propre code PHP, la méthode la plus simple consiste à créer un modèle personnalisé, puis à appliquer le modèle à une page particulière créée dans WordPress. Commencez par ouvrir vos fichiers de thème et en dupliquant le page.php (ou single.php s'il n'y en a pas). Renommez-le quelque chose d'évident, comme “template-customers.php” comme j'ai choisi.
Tout en haut du fichier, nous devons dire à WordPress qu'il s'agit d'un modèle personnalisé. Faites ceci en ajoutant ce qui suit (Ceci est un commentaire de style PHP, il devrait donc être après toute balise PHP d'ouverture, le cas échéant):
/ * Nom du modèle: Clients * /
Évidemment, appelle ça comme tu veux.
Maintenant, trouvez la fonction de contenu principal. Vous pouvez le supprimer si vous voulez, mais je vais juste ajouter le code supplémentaire après. Avec le thème par défaut vingt-onze, vous recherchez:
Mais dans la plupart des thèmes, ce sera quelque chose comme:
C'est le bit qui affiche le contenu de votre message. Ainsi, tout ce que vous ajouterez après sera affiché juste après la zone de contenu principale. Juste pour vérifier que tout fonctionne, ajoutons une déclaration d'écho de base et sauvegardons le fichier..
Avant de pouvoir vérifier cela, nous devrons créer une page sur la page d'administrateur de WordPress et y appliquer notre modèle de page..
Publiez et consultez la page pour voir si votre déclaration echo a fonctionné.
La classe de requête personnalisée
Pour obtenir un accès direct à la base de données, il vous suffit d'utiliser l'objet $ wpdb en le rendant global. Ces trois lignes devraient le faire - remplacez la déclaration d'écho générique que nous avons faite précédemment par ceci:
get_results ("SELECT * FROM clients;"); print_r ($ clients); ?>
Enregistrez et actualisez la page. le fonction print_r () extrait simplement toutes les données de l'objet du client - vous devriez donc voir que votre simple instruction SQL de sélectionner tout ce qui se trouve dans la table des clients a bien fonctionné. Il ne vous reste plus qu'à analyser les résultats pour les rendre utilisables. Bien sûr, vous pouvez mettre n'importe quelle instruction SQL select dans le dossier Obtenir des résultats() méthode, mais je ne suis pas ici pour vous apprendre le code SQL afin que nous restions avec tout saisir tout pour l'instant.
Pour analyser les résultats de manière plus significative, je vais simplement utiliser un tableau de base pour le moment. Remplace le print_r méthode avec le code suivant (ne vous inquiétez pas, je collerai le code complet plus tard si vous ne voulez pas le reconstituer vous-même):
écho "
". $ client-> nom." | "; écho "". $ client-> email." | "; écho "". $ client-> téléphone." | "; écho "". $ client-> adresse." | "; écho "
Une fois que vous avez chaque objet client dans un pour chaque, vous pouvez accéder facilement aux noms de champs avec $ customer-> field_name - ça ne pourrait vraiment pas être plus simple.
Sécuriser les choses
Dans ce cas, je ne veux pas vraiment que les données de mes clients soient affichées à n'importe qui et indexées par les moteurs de recherche - mais je veux tout de même qu'elles soient affichées en façade à l'aide de ce modèle; Alors, que pouvons-nous faire? Facile, nous allons utiliser le conditionnel WordPress is_user_logged_in (), et afficher un message rapide s'ils ne le sont pas. Voici à nouveau le bloc de code complet avec la nouvelle condition ajoutée:
get_results ("SELECT * FROM clients;"); écho "
". $ client-> nom." | "; écho "". $ client-> email." | "; écho "". $ client-> téléphone." | "; écho "". $ client-> adresse." | "; écho "
Enregistrez et actualisez, et vous devriez toujours voir le contenu. Cependant, déconnectez-vous, puis actualiser la page, et vous verrez maintenant le “Désolé, seuls les utilisateurs enregistrés… ” message.
Si vous souhaitez limiter cela à certains niveaux d'utilisateurs plutôt qu'à tous les utilisateurs enregistrés, utilisez le current_user_can () conditionnel à la place, avec une capacité associée (sur les capacités du codex). Ceci vérifierait les utilisateurs admin, par exemple - les seuls utilisateurs pouvant gérer les options de plug-in:
current_user_can ('manage_options')
Résumé
Je vais en rester là aujourd'hui car tout le reste deviendrait un tutoriel SQL ou la façon de styliser votre sortie avec CSS. Le ciel est vraiment la limite avec WordPress, et j'espère que cela servira à certains d'entre vous dans vos projets WordPress.
La semaine prochaine, je traiterai du sujet un peu plus délicat de la réinsertion de données dans votre base de données personnalisée à l'aide d'un formulaire sur la page et d'un peu de magie AJAX / jQuery. Et jetez un coup d'œil à certains de nos autres guides WordPress, comme la résolution de 500 erreurs de serveur internes et les pages vierges. Le guide ultime pour la résolution de 500 erreurs de serveur internes et les pages blanches vierges dans WordPress Le guide ultime pour la résolution de 500 erreurs de serveur internes et les pages blanches vierges WordPress Des problèmes avec 500 erreurs internes du serveur et des pages vierges dans WordPress? Voici comment les réparer tout de suite. et taille d'image et de vignettes en vedette Le Guide complet sur les vignettes et les tailles d'image présentées dans WordPress Le guide complet sur les vignettes et la taille des images présentées dans WordPress Voici tout ce que vous devez savoir sur la taille des images dans WordPress et sur la gestion des images en vedette. .
Vous n'avez pas encore d'installation WordPress? Consultez notre guide pour l’installation de WordPress sur Bluehost Comment installer WordPress sur Bluehost Comment installer WordPress sur Bluehost Bluehost est l’un des plus grands et des plus populaires fournisseurs d’hébergement Web. Voici un guide simple pour installer WordPress sur Bluehost. .