Wenn Sie ein WordPress Multisite-Netzwerk mit einem Hauptblog haben und davon ausgehen, dass der gesamte Inhalt in dieses Blog verschoben wurde, wie würde man dann das Netzwerk wieder in eine standardmäßige WordPress-Nicht-Netzwerk-Nicht-Multisite-Installation reduzieren?
17
Antworten:
Ich habe die folgenden Schritte ausgeführt, um eine Site aus einer Installation mit mehreren Standorten in eine einzelne Instanz zu extrahieren:
DELETE FROM wp_usermeta WHERE user_id NOT IN( SELECT distinct(user_id) FROM wp_usermeta where meta_key LIKE 'wp_SITEID_%' );
DELETE FROM wp_users WHERE ID NOT IN( SELECT distinct(user_id) FROM wp_usermeta where meta_key LIKE 'wp_SITEID_%' );
UPDATE wp_usermeta SET meta_key = REPLACE( meta_key, 'wp_SITEID_', 'wp_' ) WHERE meta_key LIKE 'wp_SITEID_%';
UPDATE wp_options SET option_name = REPLACE( option_name, 'wp_SITEID_', 'wp_' ) WHERE option_name LIKE 'wp_SITEID_%';
wp-config.php
, klicken Sie jedoch nicht auf "Installation ausführen".blogs.dir/SITE_ID/files
durchuploads
und wenn Sie die URL Ihrer Site ändern, suchen Sie nacholdsite.com
und ersetzen durchnewsite.com
.Ein bisschen Aufwand und Sie müssen vorsichtig mit den Datenbankbearbeitungen sein, aber das ist das einzige, was ich sehen kann, um eine einzelne Site aus einer vorhandenen Multisite mit all ihren Einstellungen usw. zu extrahieren ... intakt.
BEARBEITEN:
Wie von @Jake entdeckt, habe ich vergessen, die letzten Schritte zu erwähnen, die Sie möglicherweise ausführen müssen, z. Suchen / Ersetzen alter URLs. Ich habe die Liste entsprechend aktualisiert.
quelle
SITEID
zur korrekten Site-ID wechselte. Statt dessen sollten Sie erwähnen , dass diesiteurl
undhome
Optionen werden wahrscheinlich in der aktualisierten werden müssenwp_options
Tabelle. Der Rest war eine ziemlich gute Checkliste. Vielen Dank.Es ist möglich, die Multisite-Installation zu entfernen, ohne ein neues Blog neu zu installieren. Befolgen Sie die Schritte.
WP_ALLOW_MULTISITE
in deiner wp-config.php aufFALSE
Entfernen oder kommentieren Sie die MU-Einstellungen
wp-config.php
wie folgt:Entfernen Sie die MU-Einstellungen
.htaccess
wie in der folgenden Quelle:Erstellen Sie die neuen Permalinks im Backend
wp-admin/options-permalink.php
und kopieren Sie das Ergebnis.htaccess
möglicherweise in die Schreibrechte für diese Datei, falls dies für WP nicht möglich ist.Entfernen Sie nicht nützliche Einträge in der Tabelle
users
. Verwenden Sie die Anweisung follow sql in einem Tool wie phpMyAdmin oder AdminerDie folgenden Tabellen können gelöscht werden:
(ändere
wp_
dein Datenbank-Präfix)Jetzt haben Sie nur die letzten Tabellen anderer Blogs des Netzwerks. Wenn Sie diesen Inhalt auch verwenden wollen, dann exportieren Sie diesen vorher per WordPress-Export als XML und importieren Sie ihn jetzt in der sauberen Einzelinstallation.
quelle
Eigentlich ist es möglich und ziemlich einfach zu tun; Ich habe es selbst mehrmals gemacht.
Es gibt da Dinge zu beachten.
Wenn Sie die Definition (?) Für mehrere Sites in wp-config auskommentieren und Ihre Permalinks aktualisieren, wird die Site auf Single Site / Standardmodus zurückgesetzt. Dann müssen Sie nur noch Ihre Datenbank bereinigen.
Wenn Sie aus irgendeinem Grund nicht auf Ihren wp-admin zugreifen können, um die Permalinks zu aktualisieren, löschen Sie einfach Ihre .htaccess-Datei. WordPress erstellt es für Sie im Single-Site-Modus neu.
Ich werde mein Bestes tun, um den Link zu den Codes / dem Support-Artikel zu finden und die Antwort damit zu aktualisieren.
Hier ist ein Link zu einem Element im Support-Forum http://wordpress.org/support/topic/revert-to-single-site
quelle
Die grundlegenden Prozesse hier funktionieren auch in WP 3.5.1 gut. Eine Klarstellung: Wenn Sie Ihrer Unterwebsite einen Namen gegeben haben, müssen Sie die Links in der Datenbank ändern, um diesen Namen zu entfernen. Wenn meine Unterwebsite den Namen ... mysite.com/comics trägt, sucht Ihr WP nach den oben beschriebenen Schritten nach mysite.com/comics und zeigt Fehler in den Permalinks an. Bearbeiten Sie die Tabelle WP-OPTIONS und suchen Sie nach der Erweiterung / comics. Entfernen Sie sie. Vergewissern Sie sich auch, dass das Uploads-Verzeichnis auf den richtigen Speicherort verweist. Möglicherweise wird noch ein blogs.dir-Eintrag angezeigt, und Sie sollten stattdessen auf wp-content / uploads / verweisen.
quelle
Der sehr wichtige Punkt, der nicht übersehen werden sollte und über den weniger gesprochen wird, ist, dass Sie immer noch die Zeile haben sollten:
define( 'WP_ALLOW_MULTISITE',
...Es sollte aber auf den neuesten Stand gebracht werden
define( 'WP_ALLOW_MULTISITE', 0 );
quelle