web-dev-qa-db-ja.com

あるMultiSiteテーブルから別のMultiSiteテーブルにデータをインポートするためのクエリ(ページ/サブページ)

サブサイト管理を容易にするために、約500(eek !!)ページの標準インストールをMultiSiteに更新しています。

私は基本的に、サブサイトとその子をルートサイトから取り出し、そのデータを新しい/新しいMultiSiteサイトにコピーしたいと思います。

WordPressのインポート/エクスポートオプションはこれでは動作しないので、MySQLクエリを使用して実行する必要がありましたが、完全に困惑していますか?

ソーステーブルは 'wp_posts'、宛先は 'wp_2_posts'です。

1
mkjones

それで私はこれを解決しました。このクエリは、ページを移動するためのトリックを行います。

   INSERT INTO wp_xxx_posts SELECT * FROM wp_posts WHERE post_parent IN

   (123,456,789,1011);

xxxは、宛先MultiSite ID(たとえばwp_3_posts)に関連しています。

括弧内の(番号)は、インポートしたいページの親ID(WPテーブルの 'post_parent')です。この例では、約20ページをインポートしたところ、2レベルの階層がありました。

唯一の問題は、ページが移動されたときにメタデータが表示されないため、WPダッシュボードのテンプレート、ページの順序、ページの親オプションなどが少しずれていることです。私はWPダッシュボードでMASS EDITをすることでこれを直しました。

基本的にすべてのページを選択(すべて選択、 '編集'を選択)して、親ページを新しいサイトに新しく作成されたページに変更します。これはうまくいきましたが、私はページ構造を作り直さなければなりませんでした。

とにかく、誰かがそれを試してみることを気にかけているならこれはうまくいきます:)メタのためにそれは完璧ではありませんが、それは私のために働きます!

1
mkjones