あんまブログやる気なかったんだけど、というか場所だけ準備してもなかなか書く動機がなくて放置してたんだけど、やってみるとなかなかどうして細部にまでこだわっちゃう性。ロマンシングやね。
このブログはWordPressという一言で言えば便利なブログ作成・管理ツールを使って作られています。
レン鯖とかに置いておけばどこからでも記事が投稿できるから重宝する。
それだけならレンタルブログ借りれば事足りるわけだが、WordPressやそれに類する有象無象のブログツールどもはカスタマイズ性が高いわけで、プラグインで簡単に機能追加ができちゃったりする。
開発元が海外なので英語が読めないと使えない、なんてことはなく、かなり本格的にグローバル言語化が進んでるので、たまにおかしな日本語があるのを見なかったことにすればとても快適。
日本語って海外独特の概念とか横文字でそのままインポートする性格だから、下手に全部日本語に訳するとおかしくなるのよな。表音文字つおい。ただし訳しなさすぎだとトゥギャザーしちゃうからアテンション。
昔に比べてブログの機能も増えて書きやすくなってて便利。これなら三日坊主のお父さんも安心だNE!
前置きはこんなもんにして、タイトルの件、Statpress Reloadedってのはプラグインの一つで、いわゆるアクセス解析をやってくれる代物。
他にも似たようなプラグインは数多開発されていて、向こうの連中はなんでこんなに必死にプラグイン開発に没頭するのかなとか思うが、作ってくれる分には便利になる一方なのでありがたい。バグがなけりゃな。
で、Statpress Reloadedでググればいくらでも日本語記事があるので、それなりに日本語化したりコンフィグ修正したりでなんとか使い物になったかなと思ってきたところ。
もちろんGoogleアナリティクスとかには全然かなわんけど、そこまでの機能求めてないから別にいい。アクセスしてくる人にわざわざ解析用のスクリプト踏ませるのは気が引ける。(やらないとは言ってない)
そんなわけで導入したStatpress Reloadedだが、あんまり褒めてもステマしても一銭の得にもならないので、誰かが得しそうな記事にすべく一石を投じてみる。
こいつのアクセス解析機能の中に、どのページがよく見られているかを表示するような部分があるのだが、そこのURLがURLエンコードされた表示になってるから困った。
URLエンコードってのは、URLに日本語とか混じってるとルール違反やちゅうことで、一旦アスキーコードの列に直した上で送信しましょうやっていう取り決めに基づくもの。
具体的には、「うんこ」が「%82%A4%82%F1%82%B1」に変換されたりする。文字コードの話はややこしいので今回は無視しておく。1記事に書ききれる内容じゃないもの。
で、このように%とあと16進数がずらーっと出てくるURLが表示されるのだが、このままじゃどのページをさしてるのかわけわからんわけだ。
なので、直接URLを表示してる部分のソースをいじってカスタマイズして日本語表記のURLが表示されるようにしようというのが眼目。
/wp-content/plugins/statpress-reloaded/statpress.phpの66行目あたりを修正。
$str = urldecode($str);を追加する。
function my_substr($str, $x, $y = 0) { $str = urldecode($str); if($y == 0) { $y = strlen($str) - $x; } if(function_exists('mb_substr')) { return mb_substr($str, $x, $y); } else { return substr($str, $x, $y); } }
ま、こんな感じでいくらでもカスタマイズのしようがあるのがスクリプト言語のいいところ。バグがあったら直せばええねん。
もっとスマートなやり方があるんだろうが、よう知らん。バグっても自己責任で。
こういうプログラム技術やアルゴリズムのブログを書いてる人は相当数いて、何かと便利に参照させてもらってはいるが、つくづくテキストサイト脳にはこういうの書くの向いてないなあと思った。前置き長すぎ。
そういう有象無象の情報から適切に必要な「出来合い品」を見繕ってくることがプログラマに求められる資質。こんなブログだって、誰かの役に立ってるかもしれない。
ほぼタイトル詐欺だけどね!