Tự động upload hình ảnh khi sao chép hình ảnh vào bài viết trong WordPress

Đăng ngày: 28/03/2018 bởi admin | Tổng 45 Lượt Xem

Sao chép nội dung là một điều không ai khuyến khích, điều này có thể là vi phạm bản quyền. Website của mình cũng từng bị sao chép nội dung y nguyên. Nhưng trong một số trường hợp sao chép nội dung và spin ra để nuôi các website vệ tinh lại là một điều tuyệt vời. Với WordPress bạn có thể tạo ra nhiều nội dung khác nhau sử dụng spin, tuy nhiên hình ảnh của bạn thì vẫn lấy từ một website, điều này cũng gây ra một số hạn chế, để khắc phục điều đó trong bài viết này mình sẽ chia sẻ với bạn phương pháp tự động upload hình ảnh khi bạn sao chép hình ảnh và nhấn publish.

Nội dung trong bài viết này!

  • 1. Chèn mã vào file functions.php

Chèn mã vào file functions.php

Đoạn class dưới đây mình thu thập được ở trên mạng chứ không phải do mình viết, tuy nhiên mình đã kiểm tra toàn bộ đoạn mã và không có vấn đề gì, hoạt động chính xác và nhanh chóng không làm chập thời gian upload. Các bạn chỉ việc copy và chèn vào cuối file functions.php của theme là được.

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();

Đoạn mã này hỗ trợ tải hình ảnh được copy vào bài viết lên chính website đó khi nhấn publish. Mọi định dạng sẽ được giữ nguyên chỉ có link hình ảnh được thay đổi từ website khác thành website của bạn.

Một lần nữa mình muốn nói là việc này không khuyến khích bạn đi copy nội dung của người khác khi chưa có sự đồng ý của họ, nhất là bản quyền về hình ảnh.


Leech đi đâu nhớ ghi nguồn tại Phước IT Blog - PhuocIT.Vn nhé!
Cái gì cũng có cái giá của nó. Tôn trọng người khác , người khác sẽ tôn trọng lại bạn!

Bình Luận Bài Viết

Cùng Chuyên Mục

Chuyên Mục Về ADMIN

PhuocIT

Để thành công
Trước tiên ta phải tin là ta có thể
" Kinh doanh? Rất đơn giản; đó là tiền của người khác! "

Chuyên Mục

Facebook Page

Kênh Youtube Của Blog

Các Bạn Hãy Bỏ Ra 1s Theo Dõi Kênh Youtube Của Blog Nhé !!

Quảng Cáo - Ads

PhuocIT.Com
© 2017 By PhuocIT.Com - Blog Cá Nhân Chia Sẻ Kiến Thức Về Công Nghệ Thông Tin Author : PhuocIT