Tự động đổi tên ảnh theo title post khi upload

rong quá trình SEO cho một bài viết thì phần SEO cho hình ảnh cũng rất là quan trọng. Ngoài việc tối ưu hóa kích thước, chọn ảnh đẹp, ảnh phù hợp với nội dung bài viết thì tên của ảnh cũng đóng góp một phần không nhỏ trong việc thân thiện với người đọc cũng như Google bot. Cũng có một số plugin giải quyết vấn đề này, nhưng cá nhân mình thì luôn ưu tiên cho việc dùng code và cụ thể ở đây là tích hợp thẳng vào theme. Các bạn mở file function.php và chèn đoạn code sau:

function wp_modify_uploaded_file_names($image_name) {

    // Get the parent post ID, if there is one
    if( isset($_GET['post_id']) ) {
        $post_id = $_GET['post_id'];
    } elseif( isset($_POST['post_id']) ) {
        $post_id = $_POST['post_id'];
    }

    // Only do this if we got the post ID--otherwise they're probably in
    //  the media section rather than uploading an image from a post.
    if(is_numeric($post_id)) {

        // Get the post slug
        $post_obj = get_post($post_id);
        $post_slug = $post_obj->post_name;

        // If we found a slug
        if($post_slug) {

            $random_number = rand(10000,99999);
            $image_name['name'] = $post_slug . '-' . $random_number . '.jpg';

        }

    }

    return $image_name;

}
add_filter('wp_handle_upload_prefilter', 'wp_modify_uploaded_file_names', 1, 1);

  Ở đoạn code trên ngoài việc đổi tên ảnh theo slug của title post thì nó còn gán thêm một con số, cụ thể số này được lấy ngẫu nhiên từ 10000 đến 99999. Điều này rất có lợi nếu như trong một bài viết mà các bạn có nhiều ảnh. Chúc các bạn thành công.

Rate this post