web-dev-qa-db-ja.com

Wordpressサイト内の他のサイトへの参照

私は比較的Wordpressに不慣れで、他の誰かが開発したサイトをあるサーバーに渡し、それを別のサーバーにデプロイしなければなりませんでした。このサイトではbbpressをインストールしています。ただし、他の開発者サーバーへの(どこかに)参照も含まれているようです。そのため、サイトを自分のサーバーにコピーしたにもかかわらず、すべてのリンクは依然として彼を指しています。私は、テンプレートファイルまたはデータベースのどこかに彼のサイトへの参照があると思いますが、私はどこにいるかわかりません。私は検索/置き換えをして、見つけたものを置き換えましたが、それでも同じことが起こります。私はそのようなものを探す必要がある本当に明白な場所があるかどうか疑問に思います。私の考えでは、彼は自分のサイトへの参照をハードコーディングすることによってかなりばかげたことをしたばかりです。多分それは正当な理由のためである、私は知りません。

3
Tony B

テーマにはハードコーディングされたリンクがあるかもしれません。それをダウンロードして、テキストエディタでマルチファイル検索をしてください。

テキストダンプを編集すると、シリアル化されたデータが破壊されます。ここで別のQ/Aを見てください: 私のデータベースインポートがテキストウィジェットデータを失うのはなぜですか?

Update 4/19/2015データベース内のURLを正しく変更するには、phpmyadminまたはadminerで実行すると以下のSQLクエリが機能しますhttps://interconnectit.com/products/search-and-replace-for-wordpress-databases/ のように、phpデータを正しく逆シリアル化/再シリアル化するツールを使用してください。

UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com');

UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com');

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');
5
markratledge

データベースにはまだ多くの参照が残っています。

参照を変更する方法は次のとおりです。

  1. sQLファイル形式でDBをエクスポートします。
  2. 検索と置換をサポートするテキストエディタでSQLファイルを開きます。
  3. http://dev.example.com のインスタンスを見つけて、 http://www.example.com に置き換えます。
  4. SQLファイルを保存
  5. ドロップDB
  6. 保存したSQLファイルをインポートします。

EDIT:移行時にURLを長いURLから短いURLに変更したため、SERIALIZEDデータが破損するという問題に遭遇したことはありません。あなたがより短いURLからより長いURLに変更しようとしているのであれば上記の方法ではうまくいきませんが、ここにあるスクリプトを見ることができます:http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/

2015年3月15日編集:上のリンクは切れています。 https://interconnectit.com/products/search-and-replace-for-wordpress-databases/ を使用してください。

だから上記のスクリプトを使用する:

  1. DBをエクスポートして新しいDBにインポートします。
  2. スクリプトを新しいDB接続に設定し、検索と置換をスクリプトに設定します。
  3. スクリプトを実行します。
1
Brady

リンクがテーマファイルにハードコーディングされている場合は、それに応じてそれらを置き換える必要があると思います。

@Bradyの指示に従うと、手順3でSQLエクスポートファイルのシリアル化されたデータが破損するため、オプションを再設定する必要があります。

WordPress OneClick Migration スクリプトを使用することをお勧めします。 WordPressサイトをサーバー/サイトからサーバー/サイトに移動するときにサイト情報を更新します。 Readme.mdファイルの移行スクリプトの使い方に関する 詳細な説明 が付属しています。

アップデート(2011年6月23日):

免責事項: WordPress OneClick移行 スクリプトは私が作成したもので、オープンソースでGPL3のライセンスを受けています。

1
Azizur Rahman