私はWordPressカレンダーの機能を置き換える良い数字を集めました:
function make_bangla_number($str)
{
$engNumber = array('0','1','2','3','4','5','6','7','8','9');
$bangNumber = array('০','১','২','৩','৪','৫','৬','৭','৮','৯');
$converted = str_replace($engNumber, $bangNumber, $str);
return $converted;
}
この関数は、英語の数字を取り、それを単にBānglāの数字に置き換えることを明確に述べています。
しかし、問題は私がすべてのグレゴリオ暦月をBānglāスクリプトに置き換えることができる同様の機能にありますが、数字機能を使用して、私はカレンダーウィジェットをめちゃくちゃにしています。という理由で:
add_filter( 'get_calendar', 'make_bangla_number' );
hTMLでも、すべての数字を置き換えます。 HTMLで前月のリンクを仮定します。
<td id="prev" colspan="3">
<a title="View posts for October 2013" href="http://localhost/wp_developer/?m=201310">
« Oct
</a>
</td>
取得...
<td id="prev" colspan="৩">
<a title="View posts for অক্টোবর ২০১৩" href="http://localhost/wp_developer/?m=২০১৩১০">
« অক্টোবর
</a>
</td>
2つの問題があります。
?m=২০১৩১০
)colspan="৩"
)そして、あなたは皆、すべてのUnicodeの数値が数値で等しくても、バイナリの値に等しくないことを知っています。そのため、ラテン数字の1
は、そのバイナリ値と比較して、BānglāNumeralの১
と同等ではありません。
そう、
WEを安全な方法でそのようなフィルター/フックで処理する方法を教えてください。
あなたが デフォルトカレンダーウィジェット を意味すると仮定すると、あなたは本当に2つの選択肢があります:
私は#2を選ぶでしょう、その本質は実際には get_calendar
関数です。その機能のクローンを作成し、必要に応じて日付を変更してください。
これはあなたの言語に適したローカライズ版のWordPressがないと仮定しています - @ birgireのコメントを見てください。