4.6/5 - (5 bình chọn)

Đô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!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *