是否将日期号更改为另一种语言/文字?

时间:2012-11-05 作者:Nathan

以前,我可以在我的函数中使用这样的脚本,为每个帖子更改日期和时间的数字(转换为另一种语言的数字和日期系统,如高棉语)。php:

function KhmerNumDate ($text) {
$text = str_replace(\'1\', \'១\', $text);
$text = str_replace(\'2\', \'២\', $text);
$text = str_replace(\'3\', \'៣\', $text);
$text = str_replace(\'4\', \'៤\', $text);
$text = str_replace(\'5\', \'៥\', $text);
$text = str_replace(\'6\', \'៦\', $text);
$text = str_replace(\'7\', \'៧\', $text);
$text = str_replace(\'8\', \'៨\', $text);
$text = str_replace(\'9\', \'៩\', $text);
$text = str_replace(\'0\', \'០\', $text); 
return $text;
}


add_filter(\'date\', \'KhmerNumDate\');
add_filter(\'the_date\', \'KhmerNumDate\');
add_filter(\'the_time\', \'KhmerNumDate\');
但现在它不起作用了——我的代码好吗?代码是否会根据我使用的主题而有所不同(我目前使用的是一个修改过的儿童主题,即二十一岁)?

3 个回复
最合适的回答,由SO网友:Nathan 整理而成

事实证明,这是因为主题“2112”的工作方式(他们努力使翻译变得简单…)。

2012年的职位日期由职能部门中的职能部门编制。php调用twentytwelve_entry_meta()

因此,为了替换/翻译日期中的数字,我查找$date=twentytwelve_entry_meta() 功能(或最好复制twentytwelve_entry_meta() 子函数中的函数。php和我一样):

$date = sprintf( \'<a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s" pubdate>%4$s</time></a>\',
        esc_url( get_permalink() ),
        esc_attr( get_the_time() ),
        esc_attr( get_the_date( \'c\' ) ),
        esc_html( get_the_date() )

    );

    //my added code - the_curlang() is used with the xili-language plugin, it returns the current language of the page

$languagedate = the_curlang();

if ( $languagedate == \'km_kh\' ) {
$date = str_replace(\'1\', \'១\', $date);
$date = str_replace(\'2\', \'២\', $date);
$date = str_replace(\'3\', \'៣\', $date);
$date = str_replace(\'4\', \'៤\', $date);
$date = str_replace(\'5\', \'៥\', $date);
$date = str_replace(\'6\', \'៦\', $date);
$date = str_replace(\'7\', \'៧\', $date);
$date = str_replace(\'8\', \'៨\', $date);
$date = str_replace(\'9\', \'៩\', $date);
$date = str_replace(\'0\', \'០\', $date); 
}
然后一切看起来都很棒!

我不是一个程序员,所以我的代码可能不是最好的选择,但至少它可以工作。

SO网友:haksrun

请尝试以下方法:

更改日期、日期、获取日期的时间、获取日期的时间、获取日期的时间、获取时间的时间。

function KhmerNumDate ($text) {
    $text = str_replace(\'1\', \'១\', $text);
    $text = str_replace(\'2\', \'២\', $text);
    $text = str_replace(\'3\', \'៣\', $text);
    $text = str_replace(\'4\', \'៤\', $text);
    $text = str_replace(\'5\', \'៥\', $text);
    $text = str_replace(\'6\', \'៦\', $text);
    $text = str_replace(\'7\', \'៧\', $text);
    $text = str_replace(\'8\', \'៨\', $text);
    $text = str_replace(\'9\', \'៩\', $text);
    $text = str_replace(\'0\', \'០\', $text); 
    return $text;
    }


add_filter(\'get_date\', \'KhmerNumDate\');
add_filter(\'get_the_date\', \'KhmerNumDate\');
add_filter(\'get_the_time\', \'KhmerNumDate\');

SO网友:Ahmad M

我想建议您使用Wordpress内置功能来满足您的特定需求date_i18n($date_format, $time, $gmt). 只需通过php date() format 还有timestamp Wordpress将以您的语言(中定义的语言)显示日期wp-config.php).

codex页面中的示例:

echo date_i18n(get_option(\'date_format\') ,strtotime("11/15-1976")); 

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php