WordPressにて「リンクをすべて相対パスにしたい」という要望を受け、「絶対パス→相対パス」の変更を検討しています。
導入しているプラグイン All in One SEO がfunction.php
の記述と競合し、絶対パスに強制的に戻される状態です。
**「All in One SEOの導入」「相対パスへの変更」**の両方を達成する方法について、知見をお持ちの方はいらっしゃらないでしょうか?
起きていること
・以下のfunctions.php
のコードで、全体を相対パスに変更することは可能。
・最新版のAll in One SEO(バージョン4.1.1.1) を有効化すると、全体が絶対パスに強制的に戻されてしまう。
・All in One SEOをバージョン4.1.0.1に下げても絶対パスに強制的に戻される。
・プラグイン「Make Paths Relative」を導入しても、絶対パスのまま変わらない
functions.php のコード
php
1<?php 2class relative_URI { 3 function relative_URI() { 4 add_action('get_header', array(&$this, 'get_header'), 1); 5 add_action('wp_footer', array(&$this, 'wp_footer'), 99999); 6 } 7 function replace_relative_URI($content) { 8 $home_url = trailingslashit(get_home_url('/')); 9 return str_replace($home_url, '/', $content); 10 } 11 function get_header(){ 12 ob_start(array(&$this, 'replace_relative_URI')); 13 } 14 function wp_footer(){ 15 ob_end_flush(); 16 } 17} 18new relative_URI(); 19?>
勉強不足で恐縮ですが、ご教示いただけると幸いです。
よろしくお願い致します。
あなたの回答
tips
プレビュー