web-dev-qa-db-fra.com

Maintenir les données de profil utilisateur dans une base de données autre que Wordpress

J'ai une base de données MySQL existante (pas Wordpress) contenant des informations de profil utilisateur. Je cherche un moyen de permettre à ces utilisateurs de se connecter à un site Wordpress et de modifier leur profil.

Il est fort probable que je devrais écrire un plugin pour le faire, mais j'espère que d'autres ont eu les mêmes exigences et qu'une solution existe déjà. J'ai envisagé d'utiliser BuddyPress et GravityForms comme véhicules possibles, mais ils ne semblent pas permettre la connexion à une base de données existante.

Les profils utilisateur de la base de données distante contiennent des éléments tels que la taille des vêtements et les images de profil; plus que le profil Wordpress. À propos de la seule chose qui ne figure pas dans les profils est une adresse e-mail et un mot de passe.

La base de données distante est volumineuse et est utilisée par d'autres clients logiciels. Elle ne peut donc pas être importée ni migrée dans Wordpress.

1
Richard

Vous pouvez utiliser la classe WPDB pour instancier un DB externe.

On dirait à peu près ceci:

define('EXT_DB_USER', 'username');
define('EXT_DB_PASSWORD', 'password');
define('EXT_DB_NAME', 'ext_data' );
define('EXT_DB_Host', '123.123.123.123:3307');

$wpdb_ext = new wpdb(EXT_DB_USER, EXT_DB_PASSWORD, EXT_DB_NAME, EXT_DB_Host);

alors vous appelez simplement $ wpdb_ext avec les fonctions normales WP comme vous le feriez pour #wpdb.

Pour les informations de connexion, il est généralement plus facile de synchroniser les informations de connexion.

Si vous voulez vraiment construire votre propre solution de type oAuth, jetez un oeil à KeyRing

1
jb510