Code tự động loại bỏ ký tự tiếng Việt trong tên file khi upload ảnh lên host

Đôi khi chúng ta hay đặt tên ảnh có dấu, và up luôn lên web, điều này dẫn đến đường link có dấu. Theo mình tham khảo thì một số bạn SEO bảo là để link có dấu không tốt cho SEO, cần phải triệt để xử lý ảnh có dấu trước khi up lên web.

Tuy nhiên, việc xử lý lại tên hàng loạt ảnh rất mất thời gian, nên hôm nay mình xin chia sẽ đoạn code để tự động bỏ ký tự tiếng việt ra khỏi tên file khi upload lên web.

Đoạn code như sau:

/**
 * Produces cleaner filenames for uploads
 */
function ttv_sanitize_file_name( $filename ) {
    $sanitized_filename = remove_accents( $filename ); // Convert to ASCII
    // Standard replacements
    $invalid = array(
        ' '   => '-',
        '%20' => '-',
        '_'   => '-',
    );
    $sanitized_filename = str_replace( array_keys( $invalid ), array_values( $invalid ), $sanitized_filename );
    $sanitized_filename = preg_replace('/[^A-Za-z0-9-. ]/', '', $sanitized_filename); // Remove all non-alphanumeric except .
    $sanitized_filename = preg_replace('/.(?=.*.)/', '', $sanitized_filename); // Remove all but last .
    $sanitized_filename = preg_replace('/-+/', '-', $sanitized_filename); // Replace any more than one - in a row
    $sanitized_filename = str_replace('-.', '.', $sanitized_filename); // Remove last - if at the end
    $sanitized_filename = strtolower( $sanitized_filename ); // Lowercase
    return $sanitized_filename;
}
add_filter( 'sanitize_file_name', 'ttv_sanitize_file_name', 10, 1 );

Các bạn chỉ cần vào Giao diện -> Sửa giao diện -> chọn functions.php rồi chèn vào. Sau đó bấm Cập nhật là được.

Chúc các bạn thành công!

4.6/5 - (5 bình chọn)
Chia sẻ tới bạn bè và gia đình
BNIX.VN
BNIX.VN

Đơn vị chuyên cung cấp dịch vụ Web, Cloud Hosting giá rẻ, VPS, Tên Miền,.. chất lượng cao tại thị trường Việt Nam.