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();
Bài viết liên quan
DEVOPS LÀ GÌ?
DEVOPS LÀ GÌ? Devops là gì Theo Wikipedia Devops là thuật ngữ chỉ tập hợp các hoạt [...]
Th9
Database là gì?
Database là gì? Database được gọi là Cơ sở dữ liệu, là một bộ sưu tập dữ liệu có [...]
Th9
Tạo Responsive và Mobile-Friendly Tooltip bằng jQuery
Việc tìm kiếm một chức năng Tooltip phù hợp với website hay blog thì không [...]
Th5
Tạo đăng nhập trên website với tài khoản google
Bạn cần người dùng vào website của bạn đăng nhập mà không cần phải đăng [...]
Th4
Xác thực người dùng với tài khoản facebook
Code xác thực người dùng trên website dựa trên tài khoản của facebook. Bạn có [...]
Th4
Code popup quảng cáo nằm dưới trình duyệt (popup under)
Bạn là webmaster và muốn treo quảng cáo popup nhưng bạn không muốn làm phiền [...]
Th4