Tìm theo từ khóa

Code tự động lưu ảnh về host



Thêm đoạn code sau vào function.php khi muốn tự lưu hình về host khi copy bài nhé

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-&
			gt;
			ID;
			&
			lt;
			br ?-->
			$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-&
						gt;
						save_images($image_url,$post_id);
						<
						br ?-->$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();

 

5/5 - (6 bình chọn)
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Mới nhất
Cũ nhất Được bỏ phiếu nhiều nhất
0
Rất thích suy nghĩ của bạn, hãy bình luận.x