WordPressのアップロードURLをcloudfrontに変更

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から参照するようになります。

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

WordPressのアップロードURLをcloudfrontに変更の記事にコメントを投稿

カスタマイズ