Tự động xóa bỏ các ký tự đặc biệt khi tải hình ảnh lên WordPress

Đánh giá bài viết!
[0/5 - (0 Votes)]

Tôi có làm một số website bất động sản sử dụng và trong team thì có một số bạn chuyên về content và kiến thức SEO có hạn nên gặp phải trường hợp khi upload hình ảnh lên để chèn vào bài viết thì cứ để tên ảnh dài nhằng, với các ký tự đặc biệt nằm lẫn lộn với nhau, nói chung là chả tối ưu lại thành các từ cách nhau bằng dấu gạch ngang nên nhiều khi thấy bài rất không thân thiện (làm giảm tốc độ load, không tối ưu SEO và khó nén hình ảnh nến như site có nhiều ảnh)

Gặp tình trạng này thì tôi viết một đoạn code để nó tự động xóa bỏ các ký tự đặc biệt trong tên hình ảnh, chuyển chữ có dấu thành không dấu và chữ hoa thành chứ thường, các từ đều cách nhau bởi một dấu gạch ngang.

Bạn có thể thêm đoạn code đó vào file functions.php là nó tự động làm việc hoàn hảo

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

Hoặc bạn có thể xem code

Cụ thể bạn sẻ thấy khi tải lên các hình ảnh với ký tự đặc biệt và có khoảng trắng hoặc chữ HOA thường lẫn lộn thì nó sẻ thay đổi lại chữ thường không dấu, cách nhau bởi dấu gạch ngang khá thân thiện.

xoa-cac-ky-tu-dac-biet-trong-file-anh

Ngoài thay đổi tên hình ảnh tải lên thân thiện hơn thì đoạn code này cũng hỗ trợ thay đổi tên tất cả các file tải lên như pdf, docx, text …

Nếu muốn sử dụng plugin thì bạn có thể tham khảo plugin nhé!

Hy vọng đoạn code nhỏ này sẻ giúp ích được cho nhiều người!

Đánh giá bài viết!
[0/5 - (0 Votes)]