wp-content/uploadsを別ドメインで参照
サイトのurlと異なるドメインで/uploadsを見れるようにする方法。具体的には、/uploadsだけAWSのcloudfrontを利用する場合などが該当します。
フィルターフックpre_option_upload_url_path
pre_option_upload_url_pathを利用して、サイト全体で/uploadsのドメインを変更するこが可能。
プラグイン化
意識せずにドメインを変更できるようにプラグイン化。
<?php /* Plugin Name: cloudfront Plugin URI: http://****.com Description: cloudfrontプラグイン Author: web engineer blog Version: 0.1 Author URI: http://****.com */ $cf = new cloudfront; class cloudfront { function __construct() { add_filter('pre_option_upload_url_path', array($this, 'cloudfront_url')); } function cloudfront_url($upload_url_path) { return 'https://d*************.cloudfront.net/wp-content/uploads'; } }
上のコードをcloudfront.phpとして、/wp-content/pluginsに配置すると管理画面から有効化できるようになるので、有効化します。
/uploads配下のメディアや画像は、cloudfrontから参照するようになります。