web-dev-qa-db-fra.com

en quoi $ wpdb diffère-t-il de WP_Query?

Je vais écrire une fonction pour retourner le prochain message/prev dans une catégorie spécifique. Quelqu'un peut-il me dire quelles seraient les différences entre $wpdb et WP_Query(); p.ex. new WP_Query(args)? qu'est-ce qui détermine lequel d'entre eux doit être utilisé?

à votre santé,
Gregory

5
Gregory

La classe wpdb est l'interface avec la base de données. WP_Query utilise wpdb pour interroger la base de données. Si vous utilisez des tables WordPress natives, vous devez utiliser WP_Query pour intégrer votre code correctement à l’environnement WordPress. Utilisez wpdb directement lorsque vous devez accéder aux données de vos propres tables.

3
Milo

Faites attention à ce que wp_query() n'existe pas dans WP core, donc je pense que presque personne d'entre nous ne peut vous dire ce que c'est.

$wpdb est un objet de la classe wpdb , qui permet de préparer et d’exécuter des requêtes de base de données.

Je vais écrire une fonction pour retourner le prochain post/prev dans une catégorie spécifique

Utilisez next_post_link / previous_post_link functions pour le faire.

Mise à jour: Pour mieux comprendre quand vous devez utiliser WP_Query, lisez ce fil de discussion Quand utiliser WP_query (), query_posts () et pre_get_posts

2
Eugene Manuilov

avec une expérience dans le développement de bases de données relationnelles, ce dont j'avais besoin était un guide de SQL. J'en ai finalement trouvé un qui me permettait de comprendre l'utilité de $ wpdb.

il semblerait que l'utilisation de $ wpdb soit préférable à WP_Query si vous connaissez bien la conception de base de données relationnelle et SQL, et souhaitez que l'accès à la base de données soit aussi efficace que possible, à condition de respecter les précautions de sécurité relatives à la validation/préparation des données.

Je vais jouer avec la classe/fonctions $ wpdb et avancer à partir de là.

0
Gregory