Dada una red de sitios múltiples de WordPress, con un blog principal, y suponiendo que todo el contenido se haya trasladado a ese blog, ¿cómo se podría colapsar la red de nuevo en una instalación de WordPress estándar sin red y sin múltiples sitios?
Dada una red de sitios múltiples de WordPress, con un blog principal, y suponiendo que todo el contenido se haya trasladado a ese blog, ¿cómo se podría colapsar la red de nuevo en una instalación de WordPress estándar sin red y sin múltiples sitios?
He seguido los pasos para extraer un sitio desde una instalación multisitio a una sola instancia ahora:
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
, pero no haga clic en 'Ejecutar la instalación' blogs.dir/SITE_ID/files
con uploads
, y si está cambiando la URL de su sitio, busque oldsite.com
y reemplace con newsite.com
. Un poco de esfuerzo y tienes que tener cuidado con las ediciones de la base de datos, pero eso es lo único que puedo ver para extraer un sitio único de un multisitio existente con todas sus configuraciones, etc. intactas.
EDIT:
Según lo señalado por @Jake, olvidé mencionar los pasos finales que debe seguir, por ejemplo. Búsqueda / reemplazo de URLs antiguas. He actualizado la lista en consecuencia.
Es posible eliminar la instalación en varios sitios sin volver a instalar un blog nuevo. Siga los pasos.
WP_ALLOW_MULTISITE
en su wp-config.php en FALSE
Eliminar o comentar la configuración de MU en wp-config.php
, como esto:
/**
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/wordpress/';
define( 'DOMAIN_CURRENT_SITE', 'localhost' );
define( 'PATH_CURRENT_SITE', '/wordpress/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
*/
Elimine la configuración de MU de .htaccess
, como la fuente a continuación:
# BEGIN WordPress
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress
Cree los enlaces permanentes nuevos, en el backend wp-admin/options-permalink.php
y tal vez copie el resultado en .htaccess
, si no es posible para WP, los derechos de escritura en este archivo.
Elimine las entradas no útiles en la tabla users
; use la siguiente declaración sql en una herramienta, como phpMyAdmin o Adminer
'ALTER TABLE 'wp_users' DROP 'spam', DROP 'deleted';'
Se pueden quitar las siguientes tablas:
(cambie wp_
a su prefijo de base de datos)
Ahora solo tiene las últimas tablas de otros blogs de la red. Si también lo usará con este contenido, luego expórtelo antes a través de WordPress export como XML e impórtelo ahora en la única instalación limpia.
En realidad es posible y bastante fácil de hacer; Lo he hecho yo mismo varias veces.
Hay cosas que considerar.
Comentando la definición de múltiples sitios (?) en wp-config y actualizando sus enlaces permanentes, se revertirá el sitio al sitio único / modo predeterminado. Luego, todo lo que tienes que hacer es limpiar tu base de datos.
Si por alguna razón no puede acceder a su wp-admin para actualizar los enlaces permanentes, simplemente elimine su archivo .htaccess. WordPress lo volverá a crear para usted en modo de sitio único.
Haré todo lo posible para encontrar el enlace a los códigos / artículo de soporte y actualizaré la respuesta con él.
Aquí hay un enlace a un elemento en el foro de soporte enlace
Los procesos básicos aquí funcionan bien incluso en WP 3.5.1 Una aclaración: si nombró a su subsitio algo, tendrá que cambiar los enlaces en la base de datos para eliminar ese nombre. Si mi subsitio fue nombrado ... mysite.com/comics, luego de seguir los procedimientos anteriores, su WP buscará mysite.com/comics y obtendrá errores en los enlaces permanentes. Edite la tabla WP-OPTIONS buscando la extensión / comics y elimínela. Además, verifique que el directorio de Subidas apunte a la ubicación correcta; aún puede mostrar una entrada de blogs.dir y ahora debería apuntar a wp-content / uploads /
El punto muy importante que no debe pasarse por alto, y del que se habla menos, es que aún debe tener la línea:
define( 'WP_ALLOW_MULTISITE',
...
Pero se debe cambiar actualizado a
define( 'WP_ALLOW_MULTISITE', 0 );
Lea otras preguntas en las etiquetas multisite