gettext 是一個(gè)非常不錯(cuò)的filter鉤子,可以用來(lái)查找和替換本地化翻譯文本,也就是替換 __()、_e()、_x()、_ex() 和 _n() 函數(shù)包含的文本。比如,你發(fā)現(xiàn)某個(gè)主題或插件的漢化文本不符合你的要求,但是你不想每次更新主題或插件后重新折騰語(yǔ)言包,那你就可以使用 gettext 鉤子來(lái)自定義翻譯文本。說(shuō)了這么多,一起來(lái)看看例子吧,比較好理解。
比如 woocommerce 插件有一句文本是這樣的:
<?php _e( 'Related Products', 'woocommerce' ); ?>
你可以使用下面的函數(shù)替換 ‘Related Products’ :
/**
* WordPress 使用 gettext 鉤子替換本地化翻譯文本
* http://www.ydqwiac.cn/gettext.html
*/
function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
// 這是原來(lái)的文本
case 'Related Products' :
// 這是要替換的文本
$translated_text = __( 'Check out these related products', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 99, 3 );
上面的代碼就將 ‘Related Products’ 替換為 ‘Check out these related products’ 了,當(dāng)然,你也可以修改為中文。
如果你要替換更多文本,按照 7-11 行代碼復(fù)制修改一下即可。更多使用說(shuō)明,請(qǐng)查看 gettext 文檔
相關(guān)推薦:
- WordPress翻譯中 __()、_e()、_x、_ex 和 _n 的用法及區(qū)別
- 讓W(xué)ordPress主題支持語(yǔ)言本地化
- 讓W(xué)ordPress插件支持語(yǔ)言本地化





這個(gè)有用,之前問(wèn)過(guò)你,但沒(méi)有回復(fù)我 ??