サイトの頁ソースを見ると、日本語を含むURLリンクが全てエンコードされていて読めない状態なのが気になった。
![](https://i0.wp.com/makotoiwasaki.com/wp-content/uploads/2019/07/f472604317effe0a18db948ed23dce0e.png?resize=728,427&ssl=1&quality=60)
これはWordpressの仕様で、日本語で出力しようとしても、最後にはエンコードされて出力されてしまう。
$the_content にフィルターをかけて、
$the_content = rawurldecode($the_content );
としてもだめだった。
それで、全体の頁が出力される直前にフィルターを掛けるようにする。
functions.php に次を追記する。
if(!is_admin()){ function call_back($buffer) { $buffer = rawurldecode($buffer); return $buffer; } } function buf_start() { ob_start("call_back"); } function buf_end() { ob_end_flush(); } add_action('after_setup_theme', 'buf_start'); add_action('shutdown', 'buf_end');
urldecode($buffer);
だと、+記号がスペースに変換されてしまうので注意。
これだけで、全体のHTMLソースがデコードされて出力されて、見やすくなる。
![](https://i0.wp.com/makotoiwasaki.com/wp-content/uploads/2019/07/5bed284de882a0924b14e11b3dacdac0.png?resize=728,350&ssl=1&quality=60)
リンクをクリックした時につながらないとか、動作上の問題はないようだ。