Comment pouvez-vous exécuter deux blogs Wordpress avec des thèmes différents en utilisant une base de données où le contenu reste le même dans les deux sites? La question que je reçois est à la cartographie de domaine dans les deux blogs.
Je vais essayer d'expliquer comment cela peut être fait, mais je ne suis pas sûr que cela fonctionne:
wp_options2
et copiez le tout de wp_options
dans la nouvelle tablelors de la deuxième installation dans wp-config.php
, avant if ( !defined('ABSPATH') )
add
define( 'M7_OPTIONS_TABLE', 'wp_options2' );
dans la deuxième installation, allez à wp-includes/wp-db.php
à la ligne 951 et ajoutez ce code:
if ( isset( $tables['options'] ) && defined( 'M7_OPTIONS_TABLE' ) )
$tables['options'] = M7_OPTIONS_TABLE;
(Ce code doit être ajouté à la fonction public function tables
, avant if ( isset( $tables['users'] ) && defined( 'CUSTOM_USER_TABLE' ) )
)
Vous devriez maintenant pouvoir changer le thème, plugins atc. pour le deuxième thème, mais tous les articles, taxonomies, etc. seront doublés dans les deux sites Web (ce qui est mauvais pour le référencement).
Si vous rencontrez des problèmes avec des liens lors de votre deuxième installation, ajoutez:
define('WP_HOME','http://seccond_website.com');
define('WP_SITEURL','http://seccond_website.com');
dans votre fichier wp-config.php
.....
mais cela ne résoudrait pas le problème si vous deviez créer une publication sur le premier site Web; sur le deuxième site Web, le lien serait dirigé vers le premier site Web ...
Je posterai toujours cette réponse, même si elle n’est pas correcte (à cause du problème décrit ci-dessus).
En tant que solution, vous pouvez créer 2 installations distinctes avec $table_prefix
différent et ajouter une action à chaque déplacement (save_post, save_taxonomies, save_postmeta, etc.) pour enregistrer de 1 db à l'autre, en modifiant les liens nécessaires.
Vous pouvez également créer un travail cron lors de la deuxième installation pour analyser chaque message, page, etc. de la 1ère base de données au 2e (puisque vous avez accès à ces deux éléments, ce serait facile).
Vous ne savez pas si cela suffira mais ces deux plugins devraient vous donner la plupart de ce que vous voulez N'importe quel nom d'hôte - modifiez les URL de contenu pour refléter le domaine dans lequel le contenu a été demandé Thème du domaine - changez les en fonction du nom de domaine.
Je n'en ai testé aucun, mais il semble que même s'ils ne fonctionnent pas, vous pouvez obtenir des morceaux de code utiles.
Si vous avez deux installations WordPress distinctes (une par domaine), vous pouvez définir WP_SITEURL
et WP_HOME
dans wp-config.php
pour forcer une adresse/un nom d'hôte spécifique. Ajoutez ce code à chaque wp-config.php
:
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
Et changez exemple.com avec le nom du domaine en question.
Vous pouvez changer le thème en fonction du domaine actuel comme
function select_theme( $current_theme ) {
if ( 'domain1.com' === $_SERVER['HTTP_Host']) {
return 'domain1 theme name';
} else {
return 'domain2 theme name';
}
}
add_filter( 'stylesheet', 'select_theme' );
add_filter( 'template', 'select_theme' );