Hướng dẫn auto upload images

Sao chép nội dung là một điều không ai thúc đẩyđiều này có thể là vi phạm bản quyền. Website của chính mình cũng từng bị sao chép Content y nguyên. Nhưng trong một vài trường hợp sao chép Content 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 thực sự có thể làm ra nhiều nội dung khác nhau sử dụng spin, mặc dù thế 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 vài hạn chế, để hóa giải việc đó trong bài viết bên dưới mình sẽ share với bạn phương pháp tự động hóa upload hình ảnh khi bạn sao chép hình ảnh và nhấn publish.

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['//', $content, $all_img_tags ];
        if [ $all_img_tags ] {
            foreach [ $all_img_tags[ 0 ] as $img_tag ] {
                // find class attribute and catch its value
                preg_match[ '/]*class\s*=\s*[\'"][[^\'"]+][\'"][^>]*>/i', $img_tag, $img_class ];
                if [ $img_class ] {
                    // Look for the WP image id
                    preg_match[ '/wp-image-[[\d]+]/i', $img_class[ 1 ], $found_id ];
                    // if first image id found: check whether is image
                    if [ $found_id ] {
                        $img_id = absint[ $found_id[ 1 ] ];
                        // if is image: return its id
                        if [ wp_attachment_is_image[ $img_id ] ] {
                            return $img_id;
                        }
                    } // if[found_id]
                } // if[img_class]
 
                // else: try to catch content image id by its url as stored in the database
                // find src attribute and catch its value
                preg_match[ '/]*src\s*=\s*[\'"][[^\'"]+][\'"][^>]*>/i', $img_tag, $img_src ];
                if [ $img_src ] {
                    // delete optional query string in img src
                    $url = preg_replace[ '/[[^?]+].*/', '\1', $img_src[ 1 ] ];
                    // delete image dimensions data in img file name, just take base name and extension
                    $guid = preg_replace[ '/[.+]-\d+x\d+\.[\w+]/', '\1.\2', $url ];
                    // if path is set relatively make it absolute
                    if [ 0 === strpos[ $guid, '/' ] ] {
                        $guid = home_url[] . $guid;
                    }
                    // look up its ID in the db
                    $found_id = $wpdb->get_var[ $wpdb->prepare[ "SELECT `ID` FROM $wpdb->posts WHERE `guid` = '%s'", $guid ] ];
                    // if first image id found: return it
                    if [ $found_id ] {
                        return absint[ $found_id ];
                    } // if[found_id]
 
                } // if[img_src]
            } // foreach[img_tag]
        } // if[all_img_tags]
 
        // if nothing found: return 0
        return 0;
    }

Chủ Đề