Code tự động lấy ảnh từ web khác khi coppy bài viết WordPress

Code tự động lấy ảnh từ web khác khi coppy bài viết WordPress. Bạn kéo chuột coppy nội dung từ web khác về tất nhiên sẽ kéo luôn link ảnh từ web họ, vậy nên khi thêm đoạn code này vào, ảnh đó sẽ được tự động đưa vào web bạn và thay thế cho link ảnh của web đã coppy. Thay vì bạn phải tải về up lên lại để tránh dính link web họ.
Chỉ cần Coppy nội dung và bấm đăng việc sao chép nội dung + ảnh từ web khác của bạn đã hoàn thành nhanh chóng.

Bạn vào thư mục của theme đang kích hoạt có file function.php mở ra rồi thêm code này vào nhé.
xài child theme cũng vào function.ph. Thêm xong là thử viết 1 bài mới thôi.
class Auto_Save_Images{
 
    function __construct(){     
        
        add_filter( 'content_save_pre',array($this,'post_save_images') ); 
    }
    
    function post_save_images( $content ){
        if( ($_POST['save'] || $_POST['publish'] )){
            set_time_limit(240);
            global $post;
            $post_id=$post->ID;
            $preg=preg_match_all('/save_images($image_url,$post_id);
                        $replace=$res['url'];
                        $content=str_replace($image_url,$replace,$content);
                    }
                }
            }
        }
        remove_filter( 'content_save_pre', array( $this, 'post_save_images' ) );
        return $content;
    }
    
    function save_images($image_url,$post_id){
        $file=file_get_contents($image_url);
        $post = get_post($post_id);
        $posttitle = $post->post_title;
        $postname = sanitize_title($posttitle);
        $im_name = "$postname-$post_id.jpg";
        $res=wp_upload_bits($im_name,'',$file);
        $this->insert_attachment($res['file'],$post_id);
        return $res;
    }
    
    function insert_attachment($file,$id){
        $dirs=wp_upload_dir();
        $filetype=wp_check_filetype($file);
        $attachment=array(
            'guid'=>$dirs['baseurl'].'/'._wp_relative_upload_path($file),
            'post_mime_type'=>$filetype['type'],
            'post_title'=>preg_replace('/\.[^.]+$/','',basename($file)),
            'post_content'=>'',
            'post_status'=>'inherit'
        );
        $attach_id=wp_insert_attachment($attachment,$file,$id);
        $attach_data=wp_generate_attachment_metadata($attach_id,$file);
        wp_update_attachment_metadata($attach_id,$attach_data);
        return $attach_id;
    }
}
new Auto_Save_Images();

back top