{"id":766,"date":"2017-12-28T16:21:33","date_gmt":"2017-12-28T09:21:33","guid":{"rendered":"http:\/\/vannamit.com\/?p=766"},"modified":"2017-12-28T16:21:33","modified_gmt":"2017-12-28T09:21:33","slug":"tu-dong-upload-hinh-anh-khi-sao-chep-hinh-anh-vao-bai-viet-trong-wordpress","status":"publish","type":"post","link":"https:\/\/khowordpress.com\/vannamit\/tu-dong-upload-hinh-anh-khi-sao-chep-hinh-anh-vao-bai-viet-trong-wordpress\/","title":{"rendered":"T\u1ef1 \u0111\u1ed9ng upload h\u00ecnh \u1ea3nh khi sao ch\u00e9p h\u00ecnh \u1ea3nh v\u00e0o b\u00e0i vi\u1ebft trong WordPress"},"content":{"rendered":"<p>Sao ch\u00e9p n\u1ed9i dung l\u00e0 m\u1ed9t \u0111i\u1ec1u kh\u00f4ng ai khuy\u1ebfn kh\u00edch, \u0111i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 l\u00e0 vi ph\u1ea1m b\u1ea3n quy\u1ec1n. Website c\u1ee7a m\u00ecnh c\u0169ng t\u1eebng b\u1ecb sao ch\u00e9p n\u1ed9i dung y nguy\u00ean. Nh\u01b0ng trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p sao ch\u00e9p n\u1ed9i dung v\u00e0 spin ra \u0111\u1ec3 nu\u00f4i c\u00e1c website v\u1ec7 tinh l\u1ea1i l\u00e0 m\u1ed9t \u0111i\u1ec1u tuy\u1ec7t v\u1eddi. V\u1edbi WordPress b\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o ra nhi\u1ec1u n\u1ed9i dung kh\u00e1c nhau s\u1eed d\u1ee5ng spin, tuy nhi\u00ean h\u00ecnh \u1ea3nh c\u1ee7a b\u1ea1n th\u00ec v\u1eabn l\u1ea5y t\u1eeb m\u1ed9t website, \u0111i\u1ec1u n\u00e0y c\u0169ng g\u00e2y ra m\u1ed9t s\u1ed1 h\u1ea1n ch\u1ebf, \u0111\u1ec3 kh\u1eafc ph\u1ee5c \u0111i\u1ec1u \u0111\u00f3 trong b\u00e0i vi\u1ebft n\u00e0y m\u00ecnh s\u1ebd chia s\u1ebb v\u1edbi b\u1ea1n ph\u01b0\u01a1ng ph\u00e1p t\u1ef1 \u0111\u1ed9ng upload h\u00ecnh \u1ea3nh khi b\u1ea1n sao ch\u00e9p h\u00ecnh \u1ea3nh v\u00e0 nh\u1ea5n publish.<\/p>\n<div id=\"content-list\" class=\"related-post\">\n<p>N\u1ed9i dung trong b\u00e0i vi\u1ebft n\u00e0y!<\/p>\n<ul id=\"list_head\">\n<li class=\"relate-item\">1. Ch\u00e8n m\u00e3 v\u00e0o file functions.php<\/li>\n<\/ul>\n<\/div>\n<h2 id=\"sublist_1\">Ch\u00e8n m\u00e3 v\u00e0o file functions.php<\/h2>\n<p>\u0110o\u1ea1n class d\u01b0\u1edbi \u0111\u00e2y m\u00ecnh thu th\u1eadp \u0111\u01b0\u1ee3c \u1edf tr\u00ean m\u1ea1ng ch\u1ee9 kh\u00f4ng ph\u1ea3i do m\u00ecnh vi\u1ebft, tuy nhi\u00ean m\u00ecnh \u0111\u00e3 ki\u1ec3m tra to\u00e0n b\u1ed9 \u0111o\u1ea1n m\u00e3 v\u00e0 kh\u00f4ng c\u00f3 v\u1ea5n \u0111\u1ec1 g\u00ec, ho\u1ea1t \u0111\u1ed9ng ch\u00ednh x\u00e1c v\u00e0 nhanh ch\u00f3ng kh\u00f4ng l\u00e0m ch\u1eadp th\u1eddi gian upload. C\u00e1c b\u1ea1n ch\u1ec9 vi\u1ec7c copy v\u00e0 ch\u00e8n v\u00e0o cu\u1ed1i file\u00a0<code>functions.php<\/code>\u00a0c\u1ee7a theme l\u00e0 \u0111\u01b0\u1ee3c.<\/p>\n<pre>class Auto_Save_Images{\r\n \r\n function __construct(){ \r\n \r\n add_filter( 'content_save_pre',array($this,'post_save_images') ); \r\n }\r\n \r\n function post_save_images( $content ){\r\n if( ($_POST['save'] || $_POST['publish'] )){\r\n set_time_limit(240);\r\n global $post;\r\n $post_id=$post-&gt;ID;\r\n $preg=preg_match_all('\/&lt;img.*?src=\"(.*?)\"\/',stripslashes($content),$matches);\r\n if($preg){\r\n foreach($matches[1] as $image_url){\r\n if(empty($image_url)) continue;\r\n $pos=strpos($image_url,$_SERVER['HTTP_HOST']);\r\n if($pos===false){\r\n $res=$this-&gt;save_images($image_url,$post_id);\r\n $replace=$res['url'];\r\n $content=str_replace($image_url,$replace,$content);\r\n }\r\n }\r\n }\r\n }\r\n remove_filter( 'content_save_pre', array( $this, 'post_save_images' ) );\r\n return $content;\r\n }\r\n \r\n function save_images($image_url,$post_id){\r\n $file=file_get_contents($image_url);\r\n $post = get_post($post_id);\r\n $posttitle = $post-&gt;post_title;\r\n $postname = sanitize_title($posttitle);\r\n $im_name = \"$postname-$post_id.jpg\";\r\n $res=wp_upload_bits($im_name,'',$file);\r\n $this-&gt;insert_attachment($res['file'],$post_id);\r\n return $res;\r\n }\r\n \r\n function insert_attachment($file,$id){\r\n $dirs=wp_upload_dir();\r\n $filetype=wp_check_filetype($file);\r\n $attachment=array(\r\n 'guid'=&gt;$dirs['baseurl'].'\/'._wp_relative_upload_path($file),\r\n 'post_mime_type'=&gt;$filetype['type'],\r\n 'post_title'=&gt;preg_replace('\/\\.[^.]+$\/','',basename($file)),\r\n 'post_content'=&gt;'',\r\n 'post_status'=&gt;'inherit'\r\n );\r\n $attach_id=wp_insert_attachment($attachment,$file,$id);\r\n $attach_data=wp_generate_attachment_metadata($attach_id,$file);\r\n wp_update_attachment_metadata($attach_id,$attach_data);\r\n return $attach_id;\r\n }\r\n}\r\nnew Auto_Save_Images();<\/pre>\n<p>\u0110o\u1ea1n m\u00e3 n\u00e0y h\u1ed7 tr\u1ee3 t\u1ea3i h\u00ecnh \u1ea3nh \u0111\u01b0\u1ee3c copy v\u00e0o b\u00e0i vi\u1ebft l\u00ean ch\u00ednh website \u0111\u00f3 khi nh\u1ea5n publish. M\u1ecdi \u0111\u1ecbnh d\u1ea1ng s\u1ebd \u0111\u01b0\u1ee3c gi\u1eef nguy\u00ean ch\u1ec9 c\u00f3 link h\u00ecnh \u1ea3nh \u0111\u01b0\u1ee3c thay \u0111\u1ed5i t\u1eeb website kh\u00e1c th\u00e0nh website c\u1ee7a b\u1ea1n.<\/p>\n<p>M\u1ed9t l\u1ea7n n\u1eefa m\u00ecnh mu\u1ed1n n\u00f3i l\u00e0 vi\u1ec7c n\u00e0y kh\u00f4ng khuy\u1ebfn kh\u00edch b\u1ea1n \u0111i copy n\u1ed9i dung c\u1ee7a ng\u01b0\u1eddi kh\u00e1c khi ch\u01b0a c\u00f3 s\u1ef1 \u0111\u1ed3ng \u00fd c\u1ee7a h\u1ecd, nh\u1ea5t l\u00e0 b\u1ea3n quy\u1ec1n v\u1ec1 h\u00ecnh \u1ea3nh.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sao ch\u00e9p n\u1ed9i dung l\u00e0 m\u1ed9t \u0111i\u1ec1u kh\u00f4ng ai khuy\u1ebfn kh\u00edch, \u0111i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 l\u00e0 vi ph\u1ea1m b\u1ea3n quy\u1ec1n. Website c\u1ee7a m\u00ecnh c\u0169ng t\u1eebng&#8230;<\/p>\n","protected":false},"author":1,"featured_media":767,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-766","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"_links":{"self":[{"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/posts\/766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/comments?post=766"}],"version-history":[{"count":1,"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/posts\/766\/revisions"}],"predecessor-version":[{"id":768,"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/posts\/766\/revisions\/768"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/media\/767"}],"wp:attachment":[{"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/media?parent=766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/categories?post=766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/khowordpress.com\/vannamit\/wp-json\/wp\/v2\/tags?post=766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}