如何本地化WordPress帖子浏览量?

时间:2012-10-20 作者:pervez

我想在本地化编号中显示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。孟加拉语语言包可以将英语数字转换为孟加拉语数字。所以我使用这个代码。有了它,我可以用孟加拉文转换日期,但无法转换视图。所以我在这里。

1 个回复
最合适的回答,由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。用这种方式翻译它需要更多的努力,但它会带来一些好处(您可以在不更改代码的情况下将其翻译成其他语言,结果将是适当的复数)。

结束