it-swarm.com.de

Ausführen von zwei Wordpress-Blogs mit unterschiedlichen Themen und mit einer einzigen Datenbank und demselben Inhalt

Wie führe ich zwei Wordpress-Blogs mit unterschiedlichen Themen aus, wobei ich eine Datenbank verwende, in der der Inhalt auf beiden Websites gleich bleibt? Das Problem, das ich bekomme, ist das Domain-Mapping in beiden Blogs.

3
Aryan

Ich werde versuchen zu erklären, wie es gemacht werden könnte, bin mir aber nicht sicher, ob es funktionieren wird:

  1. Installieren Sie die 2. Website mit einer einzigen Datenbank (2 Kopien).
  2. Erstellen Sie eine neue Tabelle in Ihrer Datenbank. Nennen Sie es wp_options2 und kopieren Sie alles von wp_options in die neue Tabelle
  3. in der zweiten Installation in wp-config.php vor if ( !defined('ABSPATH') ) hinzufügen

    define( 'M7_OPTIONS_TABLE', 'wp_options2' );
    
  4. in der zweiten Installation gehen Sie zu wp-includes/wp-db.php in Zeile 951 und fügen Sie diesen Code hinzu:

    if ( isset( $tables['options'] ) && defined( 'M7_OPTIONS_TABLE' ) )
        $tables['options'] = M7_OPTIONS_TABLE;
    

    (Dieser Code sollte vor if ( isset( $tables['users'] ) && defined( 'CUSTOM_USER_TABLE' ) ) zur public function tables -Funktion hinzugefügt werden.)

Jetzt sollten Sie in der Lage sein, das Thema zu ändern, Plugins atc. für das zweite Thema, aber alle Beiträge, Taxonomien usw. werden in beiden Websites verdoppelt (was für SEO übrigens schlecht ist.)

Sollten Sie bei Ihrer zweiten Installation auf Probleme mit Links stoßen, fügen Sie Folgendes hinzu:

define('WP_HOME','http://seccond_website.com');
define('WP_SITEURL','http://seccond_website.com');

in deiner wp-config.php Datei .....

aber es würde das Problem nicht lösen, wenn Sie einen Beitrag auf der 1. Website erstellen würden, auf der zweiten Website würde es auf die erste Website verlinken ...

Ich werde diese Antwort trotzdem posten, auch wenn sie nicht korrekt ist (aufgrund des oben beschriebenen Problems).

Als Lösung könnten Sie 2 separate Installationen mit unterschiedlichem $table_prefix erstellen und jeder Bewegung (save_post, save_taxonomies, save_postmeta usw.) eine Aktion hinzufügen, um von 1 db auf die andere zu speichern, aber die erforderlichen Links zu ändern.

Oder Sie können bei der zweiten Installation einen Cron-Job erstellen, um jeden Beitrag, jede Seite usw. von der ersten bis zur zweiten Datenbank zu analysieren (da Sie auf beide zugreifen können, wäre dies einfach).

Ich bin mir nicht sicher, ob es ausreichen wird, aber diese beiden Plugins sollten Ihnen das Meiste geben, was Sie wollen. Beliebiger Hostname - Ändern Sie die Inhalts-URLs, um die Domäne wiederzugeben, in der der Inhalt angefordert wurde. Domänenthema - Ändern Sie sie entsprechend dem Domainnamen.

Ich habe keines von ihnen getestet, aber es sieht so aus, als ob Sie auch dann nützliche Code-Teile von ihnen erhalten können, wenn sie nicht funktionieren.

0
Mark Kaplun

Wenn Sie zwei separate WordPress-Installationen haben (eine pro Domain), können Sie WP_SITEURL und WP_HOME in wp-config.php definieren, um eine bestimmte Adresse/einen bestimmten Hostnamen zu erzwingen. Fügen Sie diesen Code zu jedem wp-config.php hinzu:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Ändern Sie example.com in den Namen der betreffenden Domain.

0
Sven

Sie können das Thema basierend auf der aktuellen Domain wie folgt ändern

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' );
0
Mitul