web-dev-qa-db-ja.com

外部画像のURLを修正する

私の画像は現在外部から私のブロガーアカウントにリンクされています。 PowerPressを通してすべてをインポートした後、それはこのように私のすべての画像をインポートしました:

<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-YrjQLYBicjE/Wl19tTXO1mI/AAAAAAAAneY/ulQf9voxKGo0CTZFb4Xi96Lk0mFS2purwCLcBGAs/s1600/95DD6994-4A23-4B1C-A333-F5352B5A3B04.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1200" height="400" src="https://1.bp.blogspot.com/-YrjQLYBicjE/Wl19tTXO1mI/AAAAAAAAneY/ulQf9voxKGo0CTZFb4Xi96Lk0mFS2purwCLcBGAs/s400/95DD6994-4A23-4B1C-A333-F5352B5A3B04.jpeg" width="400" /></a></div>

各投稿を個別に編集しなくても正しいサイズの画像が自分のサイトに表示されるように、.htaccess/s400に変更できるようにする/s1600コードはありますか。

3
Kelen Conley

要求がblogspotサーバーに送信されているので、.htaccessは文句を言わない。

あなたの投稿内容をフィルタリングすることができます output:

add_filter('the_content', function($the_content) {
    return str_replace('/s400','/s1600',$the_content);
});

または、 データベースを編集する を編集することもできます。

global $wpdb;

$wpdb->query("UPDATE $wpdb->posts SET `post_content` = REPLACE(`post_content`,'/s400','/s1600');"); 

またはMySQLでそれを行う

UPDATE wp_posts SET `post_content` = REPLACE(`post_content`,'/s400','/s1600';

wp_postsがあなたの投稿テーブルであると仮定します。

または wpcli を使用することもできます。

wp search-replace '/s400' '/s1600'

いずれかの方法でデータベースを変更した場合は、必ずデータベースを事前にバックアップしてください。


(他の誰かが私の答えを却下する前に、私が提供したものがあなたの質問に対する答えになることに注意してください、しかしそれは本当の問題に対する賢い修正です:.

5
David Sword