Guide d'interaction de la base de données WordPress: Master wpdb
Class and Database Operation Skills
WordPress est livré avec un grand nombre de fonctions d'interaction de base de données. Cependant, surtout lorsque vous traitez des tables personnalisées, nous devons parfois faire des choses qui ne peuvent pas être réalisées par les fonctionnalités natives de WordPress. WP_Query
wp_insert_post
update_post_meta
get_posts
et partagera quelques conseils de développement. Nous couvrirons les fonctions utilisées pour créer des tables personnalisées, mais ne couvrirons pas les bases de la création d'une base de données WordPress initiale.
wpdb
Points clés: dbDelta
WordPress fournit une variété de fonctions d'interaction de base de données, y compris les classes et les fonctions connexes. Mais pour des besoins plus complexes, les développeurs peuvent utiliser des classes
ou créer des tables personnalisées.-
La classe
-
WP_Query
est un outil clé pour gérer directement les bases de données WordPress. Pour éviter les noms de table à code dur dans les requêtes SQL, utilisez l'attributwpdb
fourni par WordPress pour améliorer la portabilité du code.
La classe -
wpdb
fournit également des méthodes auxiliaires pour les opérations de base de données, telles queprefix
, et - , qui sont plus s?res et plus spécifiques à la cas que la méthode générale
wpdb
.insert
update
Pour empêcher l'injection SQL, la classeget_row
fournit une méthodequery
qui re?oit des cha?nes de relevé SQL et des données qui doivent être échappées. Ceci est particulièrement important lorsque vous traitez de méthodes telles que ou - .
wpdb
prepare
La création de tables personnalisées est utile lorsque un contr?le plus granulaire des données est requis. Il est recommandé d'utiliser la fonctionquery
pour créer des tables de base de données personnalisées et des mises à jour de schéma de table de processus. Pendant ce temps, stockez la version de la base de données dans le tableauget_results
pour référence lors des futures mises à jour. -
dbDelta
options
Utilisation de catégorie
La classe wpdb
est la classe la plus couramment utilisée lors du traitement des bases de données directement. Le manuel WordPress a expliqué les méthodes et propriétés de base de la classe en détail, et ne sera pas répétée ici. Nous nous concentrerons sur certaines des erreurs courantes que les développeurs WordPress font, comment les corriger et les meilleures pratiques lors de l'utilisation de classes
wpdb
wpdb
évitez les noms de table du code dur dans les requêtes SQL wpdb
Certains développeurs supposent que le préfixe de table ne changera pas et n'utilisera pas la valeur par défaut . L'extrait de code suivant montre la mauvaise approche:
Si l'utilisateur modifie la préfixe de la table en une autre valeur, ce code est erroné. Ce problème peut être facilement résolu en utilisant l'attribut wp_
:
global $wpdb; $result = $wpdb->get_results('SELECT * FROM wp_posts LIMIT 10');
Mieux encore, si vous avez affaire aux tables par défaut WordPress, vous pouvez y accéder directement en utilisant les propriétés dans wpdb
. Chaque table par défaut WordPress est représentée par une propriété du même nom dans la classe wpdb
(à l'exclusion des préfixes). Par exemple, supposons que le préfixe de table soit wp_
:
-
$wpdb->posts
correspondant àwp_posts
table -
$wpdb->postmeta
correspondant àwp_postmeta
table -
$wpdb->users
correspondant àwp_users
table
Par conséquent, le code ci-dessus peut être encore amélioré:
global $wpdb; $result = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'posts LIMIT 10');
Utiliser des méthodes auxiliaires spécifiques pour les opérations de base de données
Bien que la méthode query
puisse gérer n'importe quelle requête SQL, il est préférable d'utiliser des méthodes auxiliaires plus appropriées, telles que insert
, update
, get_row
, etc. Ces méthodes sont plus spécifiques et plus s?res, car les évasions et d'autres travaux sous-jacents sont déjà gérés par eux.
Déboguez correctement la requête de la base de données
Par défaut, les rapports d'erreur sont désactivés. wpdb
fournit deux fa?ons de changer l'état des rapports d'erreur: $wpdb->show_errors();
(on) et $wpdb->hide_errors();
(off). Si les deux WP_DEBUG
et WP_DEBUG_DISPLAY
sont définis sur true
, la méthode show_errors
est automatiquement appelée. La méthode $wpdb->print_error();
affichera les erreurs de la dernière requête quel que soit l'état du rapport d'erreur. Activer wp-config.php
dans SAVEQUERIES
pour stocker toutes les requêtes de base de données, le temps d'exécution et les emplacements d'appel dans l'attribut wpdb
de la classe queries
. Ces données peuvent être récupérées à l'aide de print_r( $wpdb->queries );
. Notez que cela affecte les performances du site Web et n'est donc utilisé que si nécessaire.
Protéger les requêtes des attaques potentielles
pour protéger complètement le code des attaques d'injection SQL, wpdb
fournit également une méthode prepare
qui re?oit des cha?nes de relevé SQL et des données qui doivent être échappées. Ceci est très important lorsqu'il s'agit de méthodes telles que query
ou get_results
.
global $wpdb; $result = $wpdb->get_results('SELECT * FROM ' . $wpdb->posts . ' LIMIT 10');La méthode
prepare
prend en charge deux syntaxes: sprintf
et vsprintf
.
Connectez-vous à une base de données distincte
Par défaut, la variable $wpdb
est une instance de la classe wpdb
, connectée à la base de données WordPress définie dans wp-config.php
. Si vous souhaitez interagir avec une autre base de données, vous pouvez instancier une autre instance de classe wpdb
. Le constructeur de la classe wpdb
accepte quatre paramètres: nom d'utilisateur, mot de passe, nom de base de données et h?te de base de données.
$wpdb->prepare( $sql, $format... );
Si le nom d'utilisateur, le mot de passe et l'h?te de la base de données sont les mêmes, modifiez simplement la base de données sélectionnée et utilisez la méthode $wpdb
sur la variable select
.
$mydb = new wpdb( 'username', 'password', 'my_database', 'localhost' );
Utilisez des tables de base de données personnalisées
Les tables par défaut WordPress sont généralement suffisantes pour gérer la plupart des opérations complexes. Avec les types d'articles personnalisés, les métadonnées d'articles, la taxonomie personnalisée et les métadonnées à terme, vous pouvez faire presque n'importe quoi sans utiliser de tables personnalisées. Cependant, les tables personnalisées peuvent être utiles lorsque un contr?le plus granulaire sur les données traités par le plugin. Les avantages des tables personnalisées comprennent: un contr?le complet sur les structures de données, la séparation des préoccupations et l'efficacité.
en utilisant dbDelta
pour gérer toutes les mises à jour initiales de création de table et de schéma de table. Le Core WordPress utilise également cette fonction pour gérer les mises à jour du schéma de base de données entre les versions. dbDelta
global $wpdb; $result = $wpdb->get_results('SELECT * FROM wp_posts LIMIT 10');pour vérifier la version de la base de données et mettre à jour le schéma de table si nécessaire.
plugin_loaded
WordPress ne se limite pas à la création de sites Web simples, il évolue rapidement vers un cadre d'application entièrement fonctionnel. L'extension WordPress devrait hiérarchiser les types de postes personnalisés et la taxonomie personnalisée. Cependant, lorsque un contr?le plus granulaire des données est nécessaire, les fonctions et les classes telles que
sont très importantes.
wpdb
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Pour annuler la version WordPress, vous pouvez utiliser le plug-in ou remplacer manuellement le fichier central et désactiver les mises à jour automatiques. 1. Utilisez WPDownGrade et d'autres plug-ins pour saisir le numéro de version cible pour télécharger et remplacer automatiquement; 2. Téléchargez manuellement l'ancienne version de WordPress et remplacez WP-incluses, WP-Admin et d'autres fichiers via FTP, mais conservez WP-Config.php et WP-Content; 3. Ajoutez du code dans WP-Config.php ou utilisez des filtres pour désactiver les mises à jour automatiques de base pour éviter d'autres mises à niveau. Assurez-vous de sauvegarder le site Web et la base de données avant l'opération pour assurer la sécurité et la fiabilité. Il est recommandé de conserver la dernière version pour la sécurité et la prise en charge fonctionnelle à long terme.

Les étapes pour créer un raccourci personnalisé dans WordPress sont les suivantes: 1. écrivez une fonction PHP via des fonctions.php File ou un plug-in personnalisé; 2. Utilisez add_shortcode () pour lier la fonction à la balise shortcode; 3. Traitez les paramètres dans la fonction et renvoyez le contenu de sortie. Par exemple, lors de la création de Shortcodes de bouton, vous pouvez définir les paramètres de couleur et de liaison pour une configuration flexible. Lorsque vous l'utilisez, vous pouvez insérer une balise comme [ButtonColor = "Red" url = "https://example.com"] dans l'éditeur, et vous pouvez utiliser DO_SHORTCODE () pour le modéliser

Les principales raisons pour lesquelles WordPress provoque une augmentation de l'utilisation du processeur du serveur comprennent des problèmes de plug-in, une requête de base de données inefficace, une mauvaise qualité du code du thème ou une augmentation du trafic. 1. Premièrement, confirmez s'il s'agit d'une charge élevée causée par WordPress via des outils supérieurs, HTOP ou Panel de configuration; 2. Entrez le mode de dépannage pour activer progressivement les plug-ins pour dépanner les goulots d'étranglement des performances, utilisez QueryMonitor pour analyser l'exécution du plug-in et supprimer ou remplacer les plug-ins inefficaces; 3. Installez les plug-ins de cache, nettoyez les données redondantes, analysez les journaux de requête lents pour optimiser la base de données; 4. Vérifiez si le sujet a des problèmes tels que la surcharge de contenu, les requêtes complexes ou le manque de mécanismes de mise en cache. Il est recommandé d'utiliser des tests de sujet standard pour comparer et optimiser la logique de code. Suivez les étapes ci-dessus pour vérifier et résoudre l'emplacement et résoudre le problème un par un.

Les méthodes pour optimiser les sites WordPress qui ne reposent pas sur les plug-ins comprennent: 1. Utilisez des thèmes légers, tels que Astra ou GeneratePress, pour éviter les thèmes de pile; 2. Comprimer et fusionner manuellement les fichiers CSS et JS pour réduire les demandes HTTP; 3. Optimiser les images avant le téléchargement, utilisez le format WebP et la taille du fichier de contr?le; 4. Configure.htaccess pour activer le cache du navigateur et connecter à CDN pour améliorer la vitesse de chargement des ressources statique; 5. Limiter les révisions de l'article et nettoyer régulièrement les données redondantes à la base de données.

Les fichiers JavaScript de mini-divateur peuvent améliorer la vitesse de chargement du site Web WordPress en supprimant les blancs, les commentaires et le code inutile. 1. Utilisez des plug-ins de cache qui prennent en charge la compression de fusion, tels que W3TotalCache, Activer et sélectionner le mode de compression dans l'option "Minify"; 2. Utilisez un plug-in de compression dédié tel que FastvelocityMinify pour fournir un contr?le plus granulaire; 3. Compressez manuellement les fichiers JS et téléchargez-les via FTP, adapté aux utilisateurs familiers avec les outils de développement. Notez que certains thèmes ou scripts plug-in peuvent entrer en conflit avec la fonction de compression, et vous devez tester soigneusement les fonctions du site Web après l'activation.

TransientAPI est un outil intégré dans WordPress pour stocker temporairement les données d'expiration automatique. Ses fonctions principales sont SET_TRANSIENT, GET_TRANSIENT et DELETE_TRANSIENT. Par rapport à OptionsAPI, les transitoires prennent en charge la définition du temps de survie (TTL), qui convient aux scénarios tels que les résultats de la demande d'API de cache et les données informatiques complexes. Lorsque vous l'utilisez, vous devez prêter attention à l'unicité de la dénomination clé et de l'espace de noms, du mécanisme de ?délétion paresseux? de cache et du problème qui peut ne pas durer dans l'environnement de cache d'objet. Les scénarios d'application typiques incluent la réduction de la fréquence de demande externe, le contr?le du rythme d'exécution de code et l'amélioration des performances de chargement des pages.

Le cache d'objet aide le stockage persistant, adapté à un accès élevé et à de faibles mises à jour, tolérant les données perdues à court terme. 1. Les données adaptées à la ?persistance? dans le cache comprennent la configuration de l'utilisateur, les informations populaires du produit, etc., qui peuvent être restaurées à partir de la base de données mais peuvent être accélérées à l'aide de cache. 2. Sélectionnez un backend de cache qui prend en charge la persistance telle que Redis, activer le mode RDB ou AOF, et configurer une politique d'expiration raisonnable, mais elle ne peut pas remplacer la base de données principale. 3. Définir les touches longues ou jamais expirées, adoptez la structure du nom de clé claire telles que l'utilisateur: 1001: profil et mettez à jour le cache de manière synchrone lors de la modification des données. 4. Il peut combiner les caches locales et distribuées pour stocker de petites données localement et les mégadonnées Redis pour stocker les mégadonnées et les utiliser pour la récupération après le redémarrage, tout en faisant attention aux problèmes de cohérence et d'utilisation des ressources.

Le moyen le plus efficace de prévenir le spam de commentaires est de l'identifier et de l'intercepter automatiquement par des moyens programmatiques. 1. Utilisez des mécanismes de code de vérification (tels que Googler captcha ou hcaptcha) pour distinguer efficacement les humains et les robots, en particulier adaptés aux sites Web publics; 2. Définissez des champs cachés (technologie de miel) et utilisez des robots pour remplir automatiquement les fonctionnalités pour identifier les commentaires du spam sans affecter l'expérience utilisateur; 3. Vérifiez la liste noire des mots clés du contenu des commentaires, filtrez les informations sur les spams par la correspondance des mots sensibles et faites attention à éviter les erreurs de jugement; 4. Jugez la fréquence et la source IP des commentaires, limitez le nombre de soumissions par unité de temps et établissez une liste noire; 5. Utilisez des services anti-spam tiers (comme Akismet, CloudFlare) pour améliorer la précision d'identification. Peut être basé sur le site Web
