WordPressで自ドメインのURLを相対パスに変換する方法

WordPressをSSL対応させるため、通常絶対URLで挿入されるリンクやパスを相対URLに置き換える方法を探していました。

上記のサイトに、functions.phpに書けば相対URLに変換してくれるコードが掲載されていたのですが、ルートディレクトリにWordPressがインストールされている場合にしか対応しておらず、僕の環境には合わなかったので、サブディレクトリにインストールしてある場合でも対応できるようにコードを修正してみました(ついでにPHP5バージョンで)。

class relative_URI {
    public function __construct() {
        add_action('get_header', array(&$this, 'get_header'), 1);
        add_action('wp_footer', array(&$this, 'wp_footer'), 99999);
    }
    protected function replace_relative_URI($content) {
        $home_url = trailingslashit(get_home_url('/'));
		$top_url = preg_replace( '/^(https?:\/\/.+?)\/(.*)$/', '$1', $home_url );
        return str_replace( $top_url, '', $content );
    }
    public function get_header(){
        ob_start(array(&$this, 'replace_relative_URI'));
    }
    public function wp_footer(){
        ob_end_flush();
    }
}
$relative_URI = new relative_URI();

上記をfunctions.phpに追加すれば相対URLに変換されます。

MW WP Form

MW WP Form はショートコードベースのフォームプラグインです。多くの機能を持っており、例えば、多くのバリデーションルール、問い合わせデータの保存、そしてグラフ機能集計などを使用することができます。

さらに詳しく
Habakiri

Habakiri

Bootstrap ベースのシンプルな WordPress テーマ。レスポンシブ、多くのカスタマイズ機能。圧縮された CSS・JS を使用する高速化対策。Microformats 対応。Sass、クラスベースの functions.php。

さらに詳しく
basis-stylus

Basis

軽量なレスポンシブ Stylus/CSS フレームワーク。Flexbox ベースのグリッドシステム、疎結合なコンポーネント、バーティカルリズム。

さらに詳しく