我想在本地化编号中显示post视图。我在函数中添加这些函数。php这样做
function make_bangla_number($str)
{
$engNumber = array(1,2,3,4,5,6,7,8,9,0);
$bangNumber = array(\'১\',\'২\',\'৩\',\'৪\',\'৫\',\'৬\',\'à§\',\'৮\',\'৯\',\'০\');
$converted = str_replace($engNumber, $bangNumber, $str);
return $converted;
}
add_filter( \'the_views\', \'make_bangla_number\' );
但我无法在本地化中显示数字。无论何时我呼叫\\u views,它都会显示英文号码。你知道如何用本地化语言显示post视图编号吗?
有关更多信息,请参阅我的后期查看功能:
// function to count post views.
function setPostViews($postID) {
$count_key = \'views\';
$count = get_post_meta($postID, $count_key, true);
if($count==\'\'){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, \'0\');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
// function to display number of post views.
function the_views($postID){
$count_key = \'views\';
$count = get_post_meta($postID, $count_key, true);
if($count==\'\'){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, \'0\');
return "0 View";
}
return $count.\' বার\';
}
我安装了孟加拉语言包,我的站点字符集也是UTF-8。孟加拉语语言包可以将英语数字转换为孟加拉语数字。所以我使用这个代码。有了它,我可以用孟加拉文转换日期,但无法转换视图。所以我在这里。
最合适的回答,由SO网友:vstm 整理而成
问题很可能是您实际上没有调用过滤器。WordPress不会自动为您执行此操作。
如果要创建自定义筛选器,必须手动调用apply_filters
, 以便执行添加的过滤器:
function the_views($postID){
$count_key = \'views\';
$count = get_post_meta($postID, $count_key, true);
if($count==\'\'){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, \'0\');
$count = 0;
}
// use apply_filters to call the filter
return sprintf($count == 0 ? \'%s View\' : \'%s à ¦¬à ¦¾à ¦°\',
apply_filters(\'the_views\', $count));
// better alternative: use the WordPress translation API:
//return sprintf(_n(\'%s View\', \'%s Views\', $count),
//apply_filters(\'the_views\', $count));
}
我对代码进行了一些修改,因此数字“0”也会被翻译/转换。最后,我还建议使用WP翻译API。用这种方式翻译它需要更多的努力,但它会带来一些好处(您可以在不更改代码的情况下将其翻译成其他语言,结果将是适当的复数)。