web-dev-qa-db-fra.com

Comment accéder à plusieurs sites Wordpress avec un seul identifiant

**** VOIR Éditions ci-dessous ****

Edit ajouté le 1/4/2018 J'ai recommencé, en suivant les instructions. Autant que je sache, tout est correct, y compris le plugin de synchronisation. fpw-sync-users.php dans test.oursite.com 3 occurrences de $ other_prefixes = array ('wp5l_',); fpw-sync-users.php dans forum.oursite.com 3 occurrences de $ other_prefixes = array ('wp7g_',); Est-ce exact? Que se passe-t-il lorsque j'essaie de me connecter à l'un ou l'autre des sites, il actualise simplement la page de connexion et rien ne se passe. Il n'y a pas de message d'erreur

**** FIN EDIT ****

Mon organisation utilise WordPress 4.9.1.

Ce que nous espérons accomplir, c’est que les membres créent un profil d’utilisateur sur secure.oursite.org et qu’ils se connectent auront accès à forums.oursite.org.

Je n'ai pas pu trouver d'instructions mises à jour pour effectuer cette tâche. Est-ce que quelqu'un ici peut me dire ce que je dois faire pour accomplir ceci, ou où obtenir les instructions mises à jour?

Je vous remercie

**** INFORMATIONS SUPPLÉMENTAIRES ***** J'ai suivi les instructions de @Frank P. à ce lien plusieurs fois, et cela ne fonctionne pas. Je devais tout remettre comme avant. Veuillez voir ci-dessous les étapes que j'ai suivies et laissez-moi savoir si j'ai fait quelque chose de mal.

Les sites sur lesquels j'ai essayé de tester une configuration Single Logon sont situés sur des sous-domaines: test.oursite.com et forum.oursite.com

le préfixe de la base de données de test.oursite.com est wp7g. Le préfixe de la base de données de forum.oursite.com est wp5l.

Je veux que test.oursite.com soit l'endroit où l'utilisateur est créé.

  1. J'ai exporté toutes les tables de base de données de forum.oursite.com (à l'exception de wp5l_user et wp5l_usermeta) et les ai importées dans la base de données test.oursite.com.

  2. Je suis allé éditer les fichiers wp-config.php selon les instructions de Frank P. à ce lien Authentification unique entre deux sites Web wordpress Il indique que les deux fichiers wp-config.php doivent être identiques, à l’exception des préfixes de $ table_prefix, qui devrait afficher le préfixe original de leur base de données. Puisque je veux que la connexion soit créée dans test.oursite.com, j'ai copié le fichier wp-config.php complet à la racine de forum.oursite.com.

  3. Je suis allé éditer le fichier wp-config.php de forum.oursite.com et changé le préfixe $ table en wp5l puis je l'ai sauvegardé.

  4. Je suis allé éditer le fichier wp-config.php pour test.oursite.com et ajouté les définitions ci-dessous et les ai sauvegardées.

    define ('COOKIE_DOMAIN', '.test.oursite.com'); // c'est là que je pense que le problème pourrait être define ('COOKIEPATH', '/'); define ('COOKIEHASH', md5 ('test.oursite.com')); define ('CUSTOM_USER_TABLE', 'wp7g_users'); define ('CUSTOM_USER_META_TABLE', 'wp7g_usermeta');

  5. J'ai copié et collé ces mêmes définitions dans wp-config.php dans forum.oursite.com et je l'ai sauvegardé.

  6. J'ai créé le dossier mu-plugins dans wp-content pour test.oursite.com et forum.oursite.org

7 J'ai créé fpw-sync-users.php dans le dossier mu-plugins pour test.oursite.com et ai copié le code de Frank P, puis modifié les 3 zones en mon préfixe et les ai enregistrées comme indiqué ci-dessous.

$other_prefixes = array(
    'wp7g_',
);
  1. J'ai créé fpw-sync-users.php dans le dossier mu-plugins pour forums.oursite.com et copié le même code depuis le dossier test.oursite.com mu-plugins, de sorte que le préfixe est wp7g, comme le prétend Frank. Je l'ai sauvé.

C'était apparemment la dernière étape. Je suis allé sur test.oursite.com et me suis connecté, puis sur forum.oursite.com et j'ai constaté que je n'étais pas connecté. Je suis allé sur wp-login.php et j'ai essayé de me connecter avec les mêmes informations d'identification que sur test.oursite.com. Il n'a pas accepté ces informations d'identification. J'ai essayé de me connecter avec les informations d'identification de l'administrateur d'origine et il ne les accepterait pas non plus. J'ai donc essayé à nouveau de faire fonctionner ces configurations personnalisées plusieurs fois de plus, en essayant différentes choses au cas où je comprendrais quelque chose. Rien ne fonctionne. J'espère que quelqu'un pourra examiner les mesures que j'ai prises et me dire ce qui me manque.

Je vous remercie.

****** wp-config.php pour test.oursite.com *****

<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the
 * installation. You don't have to use the web site, you can
 * copy this file to "wp-config.php" and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://codex.wordpress.org/Editing_wp-config.php
 *
 * @package WordPress
 */

// ** MySQL settings - You can get this info from your web Host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'oursite_test2');


/** MySQL database username */
define('DB_USER', 'oursite_test2');


/** MySQL database password */
define('DB_PASSWORD', 'hidden');


/** MySQL hostname */
define('DB_Host', 'localhost');


/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'hidden');


/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */

define('AUTH_KEY',hidden');

define('SECURE_AUTH_KEY',  'hidden');

define('LOGGED_IN_KEY',    'hidden');

define('NONCE_KEY',        'hidden');

define('AUTH_SALT',        'hidden');

define('SECURE_AUTH_SALT', 'hidden');

define('LOGGED_IN_SALT',   'hidden');

define('NONCE_SALT',       'hidden');


define('COOKIE_DOMAIN',         '.test.oursite.com');

define('COOKIEPATH',            '/');

define('COOKIEHASH',            md5('test.oursite.com'));


define('CUSTOM_USER_TABLE', 'wp7g_users');

define('CUSTOM_USER_META_TABLE', 'wp7g_usermeta');


/**#@-*/


/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp7g_';


/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the Codex.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */

define('WP_DEBUG', false);


/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');


****wp-config.php for forum.oursite.com*****


<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the
 * installation. You don't have to use the web site, you can
 * copy this file to "wp-config.php" and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://codex.wordpress.org/Editing_wp-config.php
 *
 * @package WordPress
 */


// ** MySQL settings - You can get this info from your web Host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'oursite_test2');


/** MySQL database username */
define('DB_USER', 'oursite_test2');


/** MySQL database password */
define('DB_PASSWORD', 'hidden');


/** MySQL hostname */
define('DB_Host', 'localhost');


/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'hidden');


/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */

define('AUTH_KEY',hidden');

define('SECURE_AUTH_KEY',  'hidden');

define('LOGGED_IN_KEY',    'hidden');

define('NONCE_KEY',        'hidden');

define('AUTH_SALT',        'hidden');

define('SECURE_AUTH_SALT', 'hidden');

define('LOGGED_IN_SALT',   'hidden');

define('NONCE_SALT',       'hidden');


define('COOKIE_DOMAIN',         '.test.oursite.com');

define('COOKIEPATH',            '/');

define('COOKIEHASH',            md5('test.oursite.com'));


define('CUSTOM_USER_TABLE', 'wp7g_users');

define('CUSTOM_USER_META_TABLE', 'wp7g_usermeta');


/**#@-*/


/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */

$table_prefix  = 'wp5l_';


/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the Codex.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */

define('WP_DEBUG', false);


/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */

if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');


/** Sets up WordPress vars and included files. */

require_once(ABSPATH . 'wp-settings.php');
1
fdarn

Dans les deux fichiers wp-config.php, modifiez les définitions suivantes:

define('COOKIE_DOMAIN',         '.test.oursite.com');
define('COOKIEHASH',            md5('test.oursite.com'));

à:

define('COOKIE_DOMAIN',         '.oursite.com');
define('COOKIEHASH',            md5('oursite.com'));

Allez à test.oursite.com/wp-admin/ et connectez-vous en tant qu'administrateur. Allez à Users -> Your Profile et cliquez sur le bouton Update Profile. Maintenant, allez à forums.oursite.com/wp-admin/. Vous devriez être connecté ici. Si les plugins de synchronisation dans mu-plugins pour les deux sites sont corrects, tout est fait. S'ils sont incorrects, vous recevrez un message indiquant que vous ne disposez pas des privilèges pour accéder à cette page. Dans ce cas, vous devrez corriger les plugins de synchronisation, conformément à ma réponse initiale. Si vous voyez le formulaire de connexion, vos fichiers wp-config.php ne sont pas définis correctement.

1