Ana blog içeren bir WordPress Multisite ağı verildiğinde ve tüm içeriğin bu blog'a taşındığı varsayılarak, ağ standart WordPress ağ dışı çoklu site kurulumuna nasıl daraltılabilir?
Ana blog içeren bir WordPress Multisite ağı verildiğinde ve tüm içeriğin bu blog'a taşındığı varsayılarak, ağ standart WordPress ağ dışı çoklu site kurulumuna nasıl daraltılabilir?
Yanıtlar:
Şimdi bir siteyi çok siteli bir kurulumdan tek bir örneğe çıkarmak için adımlardan geçtim:
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.phpancak 'Kurulumu çalıştır'ı tıklamayınblogs.dir/SITE_ID/filesile uploadsdeğiştirin ve sitenizin URL'sini oldsite.comdeğiştiriyorsanız arama yapın ve değiştirin newsite.com.Adil bir çaba ve veritabanı düzenlemeleri dikkatli olmak zorunda ama tek bir siteyi mevcut tüm çok siteden vb.
DÜZENLE:
@Jake tarafından tespit edildiği gibi, örneğin atmanız gerekebilecek son adımlardan bahsetmeyi unuttum. eski URL'leri arama / değiştirme. Listeyi buna göre güncelledim.
SITEID, doğru site kimliğiyle değiştirdiğimde hiçbir işe yaramadı veya herhangi bir etkisi olmadı . Bunun yerine, siteurlve homeseçeneklerinin büyük olasılıkla wp_optionstabloda güncellenmesi gerekeceğini belirtmelisiniz . Bu geri kalanı oldukça iyi bir kontrol listesi oldu. Teşekkürler.
Çok siteli yüklemeyi yeni bir blog yüklemeden kaldırmak mümkündür. Adımları izleyin.
WP_ALLOW_MULTISITEWp-config.php dosyasında sabit olarakFALSEAşağıdaki wp-config.phpgibi MU ayarlarını kaldırın veya yorumlayın :
/**
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 );
*/MU ayarlarını .htaccessaşağıdaki kaynak gibi kaldırı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 WordPressKalıcı bağlantıları arka uçta yeni oluşturun ve wp-admin/options-permalink.phpsonucu .htaccessWP için mümkün değilse bu dosyaya yazma haklarına kopyalayın .
Tablodaki gereksiz girişleri kaldırın users; phpMyAdmin veya Adminer gibi bir araçta aşağıdaki sql deyimini kullanın
`ALTER TABLE `wp_users` DROP `spam`, DROP `deleted`;`Aşağıdaki tablolar bırakılabilir:
( wp_veritabanı önekinizde değişiklik yapın)
Artık ağdaki diğer blogların yalnızca son tablolarına sahipsiniz. Bu içeriği de kullanacaksanız, daha önce WordPress üzerinden XML olarak dışa aktarın ve şimdi temiz tek yüklemede içe aktarın.
Aslında mümkün ve oldukça kolaydır; Birkaç kez kendim yaptım.
Dikkate alınması gereken şeyler var.
Wp-config çoklu site tanımını (?) Yorumlamak ve kalıcı bağlantılarınızı güncellemek siteyi tek bir siteye / varsayılan moda geri döndürür. O zaman tek yapmanız gereken veritabanınızı temizlemek.
Herhangi bir nedenle kalıcı bağlantıları güncellemek için wp-admin'inize erişemiyorsanız .htaccess dosyanızı silin. WordPress sizin için tek site modunda yeniden oluşturacaktır.
Kodlar / destek makalesinin bağlantısını bulmak ve yanıtı güncellemek için elimden geleni yapacağım.
Destek forumundaki bir öğenin bağlantısı http://wordpress.org/support/topic/revert-to-single-site
Buradaki temel işlemler WP 3.5.1'de bile iyi çalışır. Bir açıklama: Alt sitenize bir şey adlandırdıysanız, bu adı kaldırmak için veritabanındaki bağlantıları değiştirmeniz gerekir. Alt sitem ... mysite.com/comics olarak adlandırılmışsa, yukarıdaki prosedürleri uyguladıktan sonra WP'niz mysite.com/comics'i arayacak ve kalıcı bağlantılarda hata alacaktır. WP-OPTIONS tablosunu / comics uzantısını arayarak düzenleyin ve kaldırın. Ayrıca, Yüklemeler dizininin doğru konumu gösterdiğini kontrol edin - yine de bir blogs.dir girişi gösterebilir ve şimdi wp-content / uploads /