Code tự động lưu ảnh về host cho wordpress không cần plugin

    1. 0 VNĐ
    2. bấm xem số
    3. ID Tin rao:
      98893
    4. Tình trạng:
      Chưa có
    5. Khu vực:
      thành phố hồ chí minh , Chưa có
    6. Thông tin:
      1/4/21, 812 Đọc

  1. Đây là ode này tự động lưu ảnh trong bài copy về host của bạn cho mã nguồn wordpress. Và tự thay thành link domain của bạn cho ảnh luôn. Không cần dùng plugin cho nặng web. Thêm vào cuối file functions.php để code áp dụng nhé.

    Mã:
    /*
    * tu dong tai anh ve host
    */
    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('/<img.*?src="(.*?)"/',stripslashes($content),$matches);
                if($preg){
                    foreach($matches[1] as $image_url){
                        if(empty($image_url)) continue;
                        $pos=strpos($image_url,$_SERVER['HTTP_HOST']);
                        if($pos===false){
                            $res=$this->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();
     
    Admin

    Admin Chat với người này

    Admin website
    Quản trị viên Quản trị viên

    Tin:
    83 | Xem tất cả
    Được thích:
    5
    Điện thoại:
    số điện thoại

    Từ khóa

    :
    Chia sẻ trang này
Đang tải...