web-dev-qa-db-ja.com

WordPress Multisite(WPMU)でネットワークから1つのサイト(ブログ)のみを正しく削除する方法

私は30サイトまでのネットワークを持っています。そして私はそれらの1つだけを削除する必要があります。

Network WordPress Multisite(WPMU)から1つのサイトのみを正しく削除する方法を教えてください。

私が管理領域側でそれをしたとき、サイトは管理者から削除されましたが、このサイトのためのプラグインと他のいくつかのテーブルはまだデータベースにあり、ウェブサイトディレクトリ(blog.dir/id_of_the_site)のすべてのファイルも残ります。

それをどの程度適切に行うことができますか?

データベースからサイトID(テーブル名)を持つすべてのテーブルを手動で削除してから、blog.dirディレクトリのファイルを含むWebサイトディレクトリを削除する必要がありますか?それとも他に何かするべきですか?

おそらくあなたは別の方法、より安全で適切に知っていますか?

P.S.

また、wp_blogsテーブルから一部のデータも削除されたことがわかっているため、これらの操作後(バックアップから)にこのサイトを復元できるかどうか、またアルゴリズムとは何ですか?ありがとう。

3
solosik

wpmu_delete_blogを検討しましたか?

http://codex.wordpress.org/Function_Reference/wpmu_delete_blog

1
djb

サイトがサイト管理者によって削除されたの場合、そのサイトは削除済みとしてマークされるだけです( "削除された"属性を受け取ります)。また、ユーザーはサイトから削除されます(これは将来、WPバージョンで変更される可能性があります)。データベースのテーブルとファイルはすべて残ります。

スーパー管理者がサイトを無効にするの場合、削除済みとしてマークされます( "deleted"属性を受け取ります)が、ユーザーはそこから削除されません。すべてのテーブルとファイルが残ります。

ネットワーク管理サイト画面からスーパー管理者がサイトを削除を削除リンクが赤の場合、デフォルトのWordPressデータベーステーブルはすべて削除され、プラグインによって作成されたものはそのまま残ります。削除。ユーザーがサイトから削除されます。サイトのメディアファイルも削除されます。 WordPressがアップロードフォルダを確実に特定できない場合は、ファイルやテーブルが残る可能性があります。

手動でサイトを削除にしたい場合は、メインサイトのプレフィックスで始まり、その後にサイトID、その後にアンダースコアが続くすべてのデータベーステーブルを削除できます。そのため、サイトID 33とメインプレフィックス "wp_"の場合、 "wp_33_"となります(引用符なし)。また、wp-content/blogs.dirまたはwp-content/sitesフォルダのいずれかの中に入り、サイトID番号の付いたフォルダを削除します。また、(blog_id列ではなく)blog_id列のサイトのIDを含む行をwp_blogsデータベーステーブルから削除します。 wp_usermetaテーブルにもいくつかのユーザーデータがあります。 meta_key列の値が、前に説明したのと同じプレフィックスで始まるすべての行(たとえば、 "wp_33_")。このサイトを復元したい場合は、削除したものすべてのコピーを保存して同じ場所に置いて復元できます。

サイトのすべてのデータベーステーブルを適切に削除するプラグイン _が必要な場合は、この機能を 私のプレミアムプラグイン Beyond Multisiteに追加しました。それは多くの機能を持っていますが、 改善 モジュールの設定のチェックボックスの1つは と呼ばれています - サイトが永久に削除されたら残りのデータベーステーブルを削除します " 。これがチェックされていると、ネットワーク管理サイト画面の赤い削除リンクでサイトが削除されると、そのサイトの接頭辞( "wp_33_"など)で始まるすべてのテーブルが削除されます(デフォルトのものだけでなく)。また、プラグインの Cleanup モジュールを使用して、以前に削除したサイトの残りのデータベーステーブルをすべて削除できます。

plugins and themesに関しては、どのサイト削除方法でも削除されません。それらはグローバルであり、サイトごとに存在しません。使用していないものは、ネットワーク管理プラグイン画面またはネットワーク管理テーマ画面から削除できます。上記の私のプラグインを使うと、プラグインやテーマがどのサイトでもアクティブになっているかどうかを確認できます(そしてどれを削除したいのか)。 「有効にする」をクリックするだけです。プラグインまたはテーマの下のアクションリンク。

0
Nikolay