web-dev-qa-db-ja.com

画像パスから「wp-content/themes/themename /」を削除します。

私は現在、WordPressを使用して、他のCMSに基づいた古いWebサイトを新しいサーバーに移行しています。しかし、このサイトはグーグルでランキングが高く、画像からのものも含め、すべてのリンク構造を維持する必要があります。

したがって、古いCMSでは、画像へのリンクは次のようになっていました。

http://www.domain-name.de/images/image1.jpg

今のところ、彼らはこのようなものです:

http://www.domain-name.de/wp-content/themes/theme-name/images/image1.jpg

しかし、それらは最初の例のように見えなければなりません。

私は/ images/...コードをたくさん使っているので、すべての.phpファイルやウィジェット、ページなどでそれを変更するには数時間かかります。

何らかの方法でそれを達成するための方法、おそらくhtaccessを使用する方法はありますか?

PS:検索の後、私はGoogleで見つけたいくつかの "Relative image paths"を試しましたが、どれもうまくいきませんでした。例えば私はこれを試してみました:

function relativePathForUploads($fileInfos)
{
    global $blog_id;
    $path = get_blog_option($blog_id,'siteurl');

    $fileInfos['url'] = str_replace($path,'',$fileInfos['url']);

    return $fileInfos;
}
add_filter('wp_handle_upload', 'relativePathForUploads');

それをfunctions.phpにコピーしましたが、何もしません。

PPS:印刷されたパスに "wp-content/themes/....."がない方法を探しています。

2
ShawnWhite

私によると、 "images"フォルダをあなたのルートディレクトリにコピーしてください。それはあなたを助けるでしょう。そして今後のアップロードのために、このコードをあなたのwp-config.phpに配置してください。

define( 'UPLOADS', ''.'images' );

1
Prateek