web-dev-qa-db-ja.com

ワードプレスメディアライブラリのメディアファイルのURLを更新する

現在私のビデオは私のwpのインストール内でホストされています。すべてのビデオを新しいサーバーに移動したいです。

現在、私のメディアのURLは次のとおりです http://mysite.com/wp-content/uploads/video01.mp4

私はすべてのビデオをこの新しいURLを持つ中央メディアサーバーに移動しています http://media.mysite.com/videos/video01.mp4

私のサイトは今でもその場でホストされ続けるでしょう。メディアファイルのみを移動します。

私はVelvet BluesのアップデートURLが仕事のためにアップすることを願っていましたが、それは私のウェブサイト上でアップデートするためのURLを見つけられません。

おそらく私は自分のサイトでJWプレーヤーを使用しており、JWプレーヤーは投稿領域にのみショートコードとIDを使用してビデオを投稿しています。

[jwplayer mediaid="13441"]

投稿にURLがありません。多分これがベルベットブルーが更新するためにURLをピックアップしていない理由です。

そうは言っても、それが外部のURLとして追加されたかのようにメディアライブラリからWordPressのインストールですべてのメディアのURLを更新する方法はありますか?

どのデータベースエントリにメディアURLが含まれていますか?私の最後の手段は、データベース上で検索と置換を実行することになると思います。

任意の提案は大歓迎です。

ありがとう

4
Charles Wayne

ワードプレスですべてのメディアのURLを更新する方法はありますか

Wordpressのアップグレード後にメディアファイルが正しいファイルの場所を持っていないという同様の問題がありました(どういうわけかすべてのメディアリンクが間違った間違ったディレクトリに切り替えられた)ので、 Upload URLとPath Enabler を書き換えることができましたすべてのメディアURLは、すべてのメディアが実際に保存されていた場所とは異なるパスの場所を指しています。

それが他の人にも役立つことを願っています!

4
JCF

古いwp_attachment_urlを置き換えるカスタム関数を作成できると思います。

新しいメディアのURLに同じファイル名があると仮定します。そのため、jwプレーヤープラグインに対してのみフィルタを追加できます。

 if ( has_shortcode( get_the_content(), 'jw_player' ) ) { 
     function mynewmediaurl($wp_get_attachment_url){
$newmediadir = 'http://yourdomain/video/';
    $filename = basename($wp_get_attachment_url );
    $newurl = $newmediadir.$filename;
        return $newurl;
        }
    add_filter('wp_get_attachment_url', 'mynewmediaurl');
    }

自分のfunctions.phpに追加することができます

参照:

https://codex.wordpress.org/Function_Reference/has_shortcode

https://developer.wordpress.org/reference/functions/wp_get_attachment_url/

https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_get_attachment_url

https://developer.wordpress.org/reference/functions/get_attached_file/

1
Asisten