サイトの頁ソースを見ると、日本語を含むURLリンクが全てエンコードされていて読めない状態なのが気になった。

これは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ソースがデコードされて出力されて、見やすくなる。

リンクをクリックした時につながらないとか、動作上の問題はないようだ。



