Dada una red de WordPress Multisite, con un blog principal, y suponiendo que todo el contenido se haya trasladado a ese blog, ¿cómo se colapsaría la red en una instalación estándar de WordPress sin red y sin multisite?
Dada una red de WordPress Multisite, con un blog principal, y suponiendo que todo el contenido se haya trasladado a ese blog, ¿cómo se colapsaría la red en una instalación estándar de WordPress sin red y sin multisite?
Respuestas:
He seguido los pasos para extraer un sitio de 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 debes tener cuidado con las ediciones de la base de datos, pero eso es lo único que puedo ver para extraer un solo sitio de un multisitio existente con todas sus configuraciones, etc ... intactas.
EDITAR:
Como lo vio @Jake, olvidé mencionar los pasos finales que puede necesitar, por ejemplo. búsqueda / reemplazo de URL antiguas. He actualizado la lista en consecuencia.
SITEID
a la identificación correcta del sitio. En lugar de eso, se debe mencionar que los siteurl
y home
probablemente necesitarán opciones que se actualizará en la wp_options
tabla. El resto de esto fue una muy buena lista de verificación. Gracias.
Es posible eliminar la instalación multisitio sin reinstalar un nuevo blog. Sigue los pasos.
WP_ALLOW_MULTISITE
en su wp-config.php aFALSE
Elimine o comente la configuración de MU de wp-config.php
esta manera:
/**
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 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, derechos para escribir en este archivo.
Eliminar entradas no útiles en la tabla users
; use la siguiente instrucción sql en una herramienta, como phpMyAdmin o Adminer
`ALTER TABLE `wp_users` DROP `spam`, DROP `deleted`;`
Las siguientes tablas se pueden descartar:
(cambie wp_
a su prefijo de base de datos)
Ahora solo tiene las últimas tablas de otros blogs de la red. Si va a usar también este contenido, exporte esto antes a través de WordPress export como XML e importe ahora en la instalación simple limpia.
En realidad es posible y bastante fácil de hacer; Lo he hecho varias veces.
Hay cosas a tener en cuenta.
Al comentar la definición de múltiples sitios (?) En wp-config y actualizar sus enlaces permanentes, el sitio volverá al sitio único / modo predeterminado. Entonces todo lo que tiene que hacer es limpiar su 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 recreará para usted en modo de sitio único.
Haré todo lo posible para encontrar el enlace al código / artículo de soporte y actualizar la respuesta con él.
Aquí hay un enlace a un elemento en el foro de soporte http://wordpress.org/support/topic/revert-to-single-site
Los procesos básicos aquí funcionan bien incluso en WP 3.5.1 Una aclaración: si nombraste algo a tu subsitio, tendrás que cambiar los enlaces en la base de datos para eliminar ese nombre. Si mi subsitio se llamaba ... 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 Uploads esté apuntando a la ubicación correcta; aún puede mostrar una entrada de blogs.dir y ahora debería apuntar a wp-content / uploads /