Có đôi khi anh em muốn dịch nhanh hoặc thay thế text nào đó trong WordPress mà không muốn cài cả bộ Loco Translate hoặc đụng tới file PO/MO, mình cũng như thế và đây là cách mình xử lý:
Bạn nhập đoạn code này vào file functions.php và thay thế Text Cũ và Text Mới theo nhu cầu là được.
/**
* Hàm multi_change_translate_text thay đổi nhiều chuỗi văn bản đã được dịch.
*
* @param string $translated Chuỗi văn bản đã được dịch.
* @return string Chuỗi văn bản sau khi đã được thay đổi.
*/
function multi_change_translate_text($translated) {
// Mảng chứa các chuỗi văn bản cũ và mới tương ứng
$text = array(
'Text Cũ 1' => 'Text Mới 1',
'Text Cũ 2' => 'Text Mới 2',
'Text Cũ 3' => 'Text Mới 3',
);
// Thay thế các chuỗi văn bản cũ trong chuỗi đã dịch bằng chuỗi văn bản mới tương ứng
$translated = str_ireplace(array_keys($text), $text, $translated);
// Trả về chuỗi văn bản sau khi đã được thay đổi
return $translated;
}
// Thêm hàm multi_change_translate_text vào filter 'gettext' với mức độ ưu tiên là 20
add_filter('gettext', 'multi_change_translate_text', 20);
Done, đơn giản chỉ thế thôi. Hy vọng tut nhỏ này sẽ giúp được bạn.