• Lam's Notes
  • Posts
  • WordPress: “Lột xác” Text, nhanh như chớp với functions.php

WordPress: “Lột xác” Text, nhanh như chớp với functions.php

Anh em dev WordPress, hôm nay chúng ta lại hội ngộ trong series “bí kíp võ công” giúp chinh phục CMS “thân thiện” nhất quả đất. Chắc hẳn, trong quá trình “múa phím” cùng WordPress, bạn đã từng đau đầu với việc thay đổi một loạt text đã được dịch, rải rác khắp ngóc ngách theme và plugin. Ví dụ, bạn cần thay đổi câu chào “Xin chào” thành “Chào mừng” ở hàng chục trang, hoặc cập nhật thông báo “Hết hàng” thành “Tạm hết hàng”, việc này có thể ngốn của bạn hàng giờ đồng hồ.

Thay vì mò kim đáy biển, lặn ngụp trong mớ code khổng lồ, hãy để “bí kíp” functions.php ra tay. File này giống như “trái tim” của theme, nơi bạn có thể “tu luyện nội công”, thêm thắt các hàm tuỳ biến cho website của mình.

Và “võ công bí truyền” lần này chính là hàm multi_change_translate_text():

/**
 * 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);

Đoạn code này hoạt động như một “ninja” ẩn mình, lặng lẽ thay thế các đoạn text cũ kỹ bằng những nội dung mới mẻ, mà không cần động chạm đến bất kỳ file dịch nào.

Chỉ cần “thả nhẹ” đoạn code trên vào file functions.php, cập nhật mảng $text với các cặp giá trị cũ - mới, và “bùm”, website của bạn đã được “thay da đổi thịt” một cách thần kỳ.

“Bí kíp” đã được truyền thụ, giờ là lúc bạn tự mình khám phá sức mạnh của nó. Chúc anh em “luyện công” thành côngtT

Reply

or to participate.