Wordpress は、「the_permalink()」と呼ばれる関数を提供します。この関数は、投稿のループ中に特定の投稿へのパーマリンクを返します。
そのパーマリンクを URL エンコードしようとしていますが、このコードを実行すると:
<?php
print(the_permalink());
$permalink = the_permalink();
print($permalink);
print(urlencode(the_permalink()));
print(urlencode($permalink));
$url = 'http://wpmu.local/graphjam/2008/11/06/test4/';
print($url);
print(urlencode($url));
?>
次の結果が HTML で生成されます。
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http://wpmu.local/graphjam/2008/11/06/test4/
http%3A%2F%2Fwpmu.local%2Fgraphjam%2F2008%2F11%2F06%2Ftest4%2F
出力の 2 行目、3 行目、5 行目が URL エンコードされていると思いますが、5 行目だけがそうです。考え?