Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment connecter une autre base de données dans WordPress

338

Récemment, j’ai reçu une question sur la façon de connecter une autre base de données au site Web WordPress. Tout d’abord, je tiens à préciser que WordPress est conçu de manière à ce que vous puissiez exécuter un nombre illimité de sites ou gérer n’importe quelle fonctionnalité à partir d’une seule base de données. Je crois que nous n’avons jamais besoin de connecter plus d’une base de données au site Web WordPress.

Mais quand même, si quelqu’un cherche la solution pour connecter plusieurs bases de données, il existe un hack pour cela. En utilisant ce hack, vous pouvez utiliser les méthodes de la classe wpdb pour récupérer les enregistrements d’une autre base de données. Ce hack ne vous permettra pas d’utiliser les méthodes de base fournies par WordPress sur votre deuxième base de données. Les fonctions comme get_option(), update_option(), wp_insert_post(), get_post_meta() ne seront pas accessibles pour votre autre base de données.

Dans ce cas, l’utilisateur peut récupérer les données des options, publier des tables à l’aide de requêtes SQL avec les méthodes de la classe wpdb. Ces méthodes sont get_var(), get_row(), get_col(), get_results(), etc.

Connectez une autre base de données dans WordPress

Lorsque vous devez vous connecter à une autre base de données, créez une instance de la classe wpdb. Ce faisant, vous avez accès à toutes les méthodes disponibles de la classe wpdb. L’utilisateur peut utiliser ces méthodes de classe directement pour interagir avec la base de données externe.

Pour commencer, vous devez disposer des informations d’identification d’une base de données externe.

Comme dit, il doit créer une instance de la classe wpdb. Cette instance doit être disponible dans l’ensemble de l’application WordPress. Pour cela, ajoutez le code ci-dessous dans le functions.phpfichier.

function connect_another_db() {
    global $seconddb;
    $seconddb = new wpdb(USERNAME, PASSWORD, DATABASE_NAME, HOSTNAME);
}
add_action('init', 'connect_another_db');

Assurez-vous de remplacer tous les espaces réservés par les valeurs réelles. Après avoir ajouté le code ci-dessus, vous êtes connecté à une autre base de données. Vous pouvez utiliser cette deuxième instance comme ci-dessous :

global $seconddb;
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";

Notez que le préfixe de table d’une autre base de données doit être le même que la base de données d’origine. Si votre préfixe de table est différent, vous devez mentionner le préfixe explicitement comme indiqué ci-dessous :

global $seconddb;
$prefix = 'wp2_'; // here 'wp2' is the table prefix of second database
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $prefix"."users" );
echo "<p>User count is {$user_count}</p>";

En utilisant les hacks ci-dessus, vous pouvez connecter une autre base de données et en obtenir des enregistrements sur votre site Web WordPress. Mais je recommande de ne pas utiliser plusieurs bases de données pour votre site WordPress. Essayez d’atteindre votre objectif à partir de la seule base de données.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails