WordPress2.0系のバグ
最近知ったWordPressのバグ。
WordPressの関数でprevious_posts_linkというのがある。カテゴリ表示などする際ページングで使用するための関数だ。本来なら&でつないだ前ページへのリンクURLを作成してくれるはずなのだが、2ページ目表示時の1ページ目に戻るリンクでおかしくなる。「#038;」がURLにはいるのだ。これ、つまり「&」が抜けちゃってるのだ。少しだけ見てみたけれど、いまだ原因を突き止めるにいたっていない(ちょっと手を抜きすぎかも)。
少しGoogled調べてみると、場当たり的な解決策が示されていた。「これイけてねぇ〜」とか思ったけど、面倒なのでそのまま使用した。実際使用したのはprevious_posts_link()と記述するところを以下のように書いた。
<?php // fixes pagination bug
if ($paged>1) {
$link = str_replace(‘#038;’,’&’, get_previous_posts_page_link());
echo ‘<a href=”‘.str_replace(‘&&’,’&’, $link).'”>次へ » </a>';
}
?>
まぁ、いいっていえばいいんだけど・・・。とりあえず関数にしてもいいんだけど、ちょっと場当たりすぎ。新しいバージョン(2.2系)ではおこらないみたいなんだけど・・・、見比べるのが面倒なのでいまだ放置したまま。
時間があれば、解決策を練ることにする。