J'ai recueilli une bonne fonction de remplacement de chiffres pour le calendrier 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;
}
La fonction indique clairement que cela consiste à prendre des chiffres anglais et à les remplacer uniquement par des chiffres Bānglā.
Mais le problème est avec une fonction similaire, je peux remplacer tous les scripts mois Grégoriens en Bānglā, mais en utilisant la fonction de chiffres, je déconne le widget calendrier. Parce qu'appeler:
add_filter( 'get_calendar', 'make_bangla_number' );
remplace tous les chiffres, même dans le code HTML. Supposons le lien du mois précédent en HTML:
<td id="prev" colspan="3">
<a title="View posts for October 2013" href="http://localhost/wp_developer/?m=201310">
« Oct
</a>
</td>
obtenir ...
<td id="prev" colspan="৩">
<a title="View posts for অক্টোবর ২০১৩" href="http://localhost/wp_developer/?m=২০১৩১০">
« অক্টোবর
</a>
</td>
Donc, il y a deux problèmes:
?m=২০১৩১০
)colspan="৩"
)Et vous savez tous que tous les chiffres Unicode peuvent être égaux en valeur numérique, mais pas égaux à leur valeur binaire. Ainsi, le chiffre latin 1
n'est pas équivalent à Bānglā Numeral ১
par rapport à leur valeur binaire.
Alors,
COMMENT WE PROCÉDER AVEC UN TEL FILTRE/CROCHET DE SÉCURITÉ?
En supposant que vous parliez du widget de calendrier par défaut , vous avez en réalité deux choix:
Je voudrais opter pour # 2, dont la viande est en fait la fonction get_calendar
. Clonez cette fonction et modifiez les dates selon vos besoins.
Cela suppose qu’il n’existe pas de version localisée appropriée de WordPress pour votre langue - voir le commentaire de @ birgire.